检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
结果与MySQL有差异但是字符编码与MySQL是一致的。 8 LOCATE() 支持 入参1为bytea类型,入参2为text类型时,GaussDB与MySQL行为存在差异。 9 MAKE_SET() 支持 bits参数为整型时,最大范围支持到int128,低于MySQL范围。
UNIX_TIMESTAMP() 支持 返回值与MySQL有差异,GaussDB返回的是numeric,MySQL返回的是int。 53 UTC_DATE() 支持 MySQL支持无括号调用,GaussDB不支持。MySQL入参整型值会按照一字节最大值255整数回绕。 MySQL入参只支持0-6整数,
数据类型支持的属性 数据类型转换 父主题: MySQL数据库兼容性B模式
char(0))将空串转成char(0)类型。MySQL支持按长度转成对应的类型。 操作符 GaussDB能正常转成浮点型的字符串与整型值加减乘除求余,返回值是整型值,MySQL是返回浮点型。 GaussDB除以0会报错,MySQL返回null。 “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但M-Compatibility不可以或存在限制,以下为表1。 表1 限制做标识符列表 关键字类型 关键字 约束 保留(可以是类型或函数)
COALESCE GaussDB和MySQL数据库对于数据类型转换、转换的目标数据类型有着完全不同的规则。如下示例体现了两者处理的差异: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -- MySQL: in 执行结果为0,表示fals
比较操作符返回结果显示不同。MySQL返回1/0;GaussDB返回t/f。 表1 操作符 序号 MySQL数据库 GaussDB数据库 差异 1 <> 支持,但有差异。 MySQL支持索引,GaussDB不支持索引。 2 <=> 支持,但有差异。 MySQL支持索引,GaussDB不支持索引、hash连接和合并连接。
定,GaussDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL5.7保持一致。 表1 排序规则列表 序号 MySQL数据库 GaussDB数据库 1 utf8mb4_general_ci
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,
驱动 JDBC 父主题: MySQL数据库兼容MySQL模式
db_mysql=# SET @`\`` = 1; db_mysql`# 形如set @var_name1 = @var_name2 := @var_name3 = @var_name4 := expr; 连续赋值,MySQL支持,GaussDB不支持。 db_mysql=# set
GaussDB的数据类型的大部分功能场景与MySQL一致,但存在部分差异。 除特别说明,部分数据类型精度、标度、位数大小等不支持用浮点型数值定义,建议使用合法的整型数值定义。 GaussDB回显以\0结束,MySQL会把整个字符串显示,因此GaussDB会将被解析为\0后的字节截断,MySQL不会。 示例:
支持。 - 22 JSON_UNQUOTE() 支持,有差异。 在转义字符中\0和\uxxxx的场景与MySQL有差异: SELECT JSON_UNQUOTE('"\0"'); mysql> SELECT JSON_UNQUOTE('"\0"'); ERROR 3141 (22032):
视图中对于整型的类型回显,不支持指定精度范围。如MySQL的bigint(1),M-Compatibility下对应的是bigint类型,MySQL中bigint(21) unsigned,在M-Compatibility下对应的是bigint unsigned类型。 MySQL中int类型,在M-Co
持20200101数值输入。MySQL支持数值输入转换为date类型。 分隔符:GaussDB不支持加号“+”、冒号“:”作为年、月、日之间的分隔符,其他的符号都支持。MySQL所有符号均可作为分隔符。 分隔符混合使用的某些场景也不支持,与MySQL也有差异,如'2020-01>
比较操作符返回结果显示不同。MySQL返回1/0;GaussDB返回t/f。 表1 操作符 序号 MySQL数据库 GaussDB数据库 差异 1 <> 支持,但有差异。 MySQL支持索引,GaussDB不支持索引。 2 <=> 支持,但有差异。 MySQL支持索引,GaussDB不支持索引、hash连接和合并连接。
GaussDB的数据类型的大部分功能场景与MySQL一致,但存在部分差异。 除特别说明,部分数据类型精度、标度、位数大小等不支持用浮点型数值定义,建议使用合法的整型数值定义。 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL数据库兼容性M-Compatibility模式
数字操作函数 表1 数字操作函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 ABS() 支持。 - 2 ACOS() 支持。 - 3 ASIN() 支持。 - 4 ATAN() 支持。 - 5 ATAN2() 支持。 - 6 CEILING() 支持,有差异。 部分操作结果类型以及CREATE
表1 强制转换函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 CAST() 支持 由于函数执行机制不同,flags无法传递给内层函数,在cast函数嵌套其他函数(如greatest、least等)时,内层函数返回小于1的值,结果与MySQL不一致。 --GaussDB:
JSON类型 表1 JSON数据类型 序号 MySQL数据库 GaussDB数据库 差异 1 JSON 支持,存在差异。 GaussDB支持JSON数据类型与MySQL相比,规格存在如下差异: 取值范围: 在MySQL中,JSON数据类型的最大长度为4GB,但在GaussDB中,