检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
mal')的情况下,当聚合函数以其他函数、操作符或SELECT子句等表达式作为入参时(如SELECT sum(abs(n)) FROM t),聚合函数将获取不到入参表达式传递的精度信息,导致函数的结果精度与MySQL有差异。 聚合函数的结果与数据输入顺序相关,不同的数据输入顺序会导致结果存在差异。
比较函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 COALESCE() 支持,有差异。 union distinct场景下,返回值精度与MySQL不完全一致。 当第一个不为NULL的参数的后续参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,Gaus
表1 其他函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 DATABASE() 支持。 - 2 UUID() 支持。 - 3 UUID_SHORT() 支持。 - 4 ANY_VALUE() 支持,有差异。 作为分组的第一条数据是不确定的,与底层算子相关。例如同一
PBE PBE 重复创建同名的PREPARE语句,M-Compatibility会报已经存在的错误,需要先删除已有statement,MySQL会覆盖旧的statement。 M-Compatibility和MySQL在SQL语句执行过程中对异常场景的报错阶段不同,例如解析层、执
PBE PBE 重复创建同名的PREPARE语句,M-Compatibility会报已经存在的错误,需要先删除已有statement,MySQL会覆盖旧的statement。 M-Compatibility和MySQL在SQL语句执行过程中对异常场景的报错阶段不同,例如解析层、执
强制转换函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 CAST() 支持 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 2 CONVERT() 支持 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 父主题:
DELETE支持从多个表中删除数据 DELETE 在多表删除执行过程中,若发现将要删除的元组被其他会话并发修改,会取该条会话匹配中所有元组的最新值重新进行匹配,若依然满足条件再对这条元组进行删除。这个过程中MySQL对所有目标表的删除是一致的,而GaussDB仅会对涉及并发更新的目标表的元组进行重新匹配,可能产生数据不一致。
加密函数 表1 加密函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 AES_DECRYPT() 支持 - 2 AES_ENCRYPT() 支持 - 父主题: 系统函数
JSON数据类型 序号 MySQL数据库 GaussDB数据库 差异 1 JSON 支持,存在差异。 GaussDB支持JSON数据类型与MySQL相比,规格存在如下差异: 取值范围: 在MySQL中,JSON数据类型的最大长度为4GB,但在GaussDB中,JSON数据类型的最
支持 无论参数的数据类型如何,concat返回值的数据类型始终为text;MySQL的concat在含有二进制类型参数时,返回值为二进制类型。 3 CONCAT_WS() 支持 无论参数的数据类型如何,concat_ws返回值的数据类型始终为text;MySQL的concat_w
数字操作函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 log2() 支持 小数位显示与MySQL存在差异,受GaussDB浮点数据类型限制,可通过参数extra_float_digits控制小数位个数显示; 由于输入精度内部处理差异,GaussDB与MySQL会存在结果计算差异;
支持。 - 14 LOG2() 支持。 - 15 PI() 支持。 PI函数的返回值精度与MySQL的有差异:MySQL中PI函数的结果仅保留四舍五入之后的小数后6位,而GaussDB的结果会保留四舍五入之后的小数后15位。 16 POW() 支持。 - 17 POWER() 支持。
B对应的返回值类型为TEXT。 SUBSTRING 函数在第一个入参为嵌套场景下与MySQL存在差异: 第一个入参节点返回的字符序为BINARY时,MySQL可能依旧以不同的字符序逻辑处理(取决于内层嵌套的函数),而GaussDB以BINARY字符序进行函数处理,导致截取的字节长度不同。
窗口函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 LAG() 支持,有差异。 偏移量N的取值范围不同: MySQL中,N只允许是在范围[0, 263-1]整数值。 GaussDB中,N只允许是在范围[0, 231-1]整数值。 偏移量N的取值形式不同: MySQL中,取值形式如下:
SUMMARY_STAT_ALL_TABLES 显示集群内数据库中每个表(包括TOAST表)的状态信息的汇总求和结果(在CN节点使用。对每个节点中表的状态信息汇总求和,其中timestamp类型字段不进行求和,仅取所有节点中该字段的最新值),如表1所示。 表1 SUMMARY_STAT_ALL_TABLES字段
根据ASCII标准解释,而字节值128-255则当作无法解析的字符;如果该函数的输入输出包含了任何非ASCII数据,数据库将无法帮助你转换或者校验非ASCII字符。 MySQL的返回值类型为BINARY、VARBINARY、BLOB、MEDIUMBLOB、LONGBLOB,Gau
指定,GaussDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL5.7保持一致。 表1 排序规则列表 序号 MySQL数据库 GaussDB数据库 1 utf8mb4_general_ci
LIKE行为存在差异,具体请参见操作符章节的“LIKE”。 WHERE表达式行为存在差异,具体行为请参见GaussDB数据库的“WHERE表达式”。 GaussDB中:表和数据库的权限需要分开赋予用户,查询的数据库必须是用户在SHOW SCHEMAS上可以查询到,不能仅仅有表的权限,必须还需要有数据库的权限。MySQL中只要拥有表权限即可访问。
用户权限验证与MySQL存在差异。 GaussDB中需要拥有指定表所在Schema的USAGE权限,同时还需要拥有指定表的任意表级权限或列级权限,仅显示拥有SELECT、INSERT、UPDATE、REFERENCES和COMMENT权限的列信息。 MySQL中需要拥有指定表的任意表级
字符集 GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 序号 MySQL数据库 GaussDB数据库 1 utf8mb4 支持 2 utf8 支持 3 gbk 支持 4 gb18030 支持 5 binary 支持 utf8和utf8