检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
JSON数据类型 表1 JSON数据类型 序号 MySQL数据库 GaussDB数据库 1 JSON 不完全兼容 父主题: 数据类型
数字操作函数 表1 数字操作函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 ABS() 支持。 - 2 ACOS() 支持。 - 3 ASIN() 支持。 - 4 ATAN() 支持。 - 5 ATAN2() 支持。 - 6 CEILING() 支持。 - 7 COS()
强制转换函数 表1 强制转换函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 CAST() 支持 GaussDB不支持使用CAST(expr AS CHAR[(N)] charset_info或者CAST(expr AS NCHAR[(N)])转换字符集。 GaussDB不支持使用CAST(expr
char(0))将空串转成char(0)类型。MySQL支持按长度转成对应的类型。 操作符 GaussDB能正常转成浮点型的字符串与整型值加减乘除求余,返回值是整型值,MySQL是返回浮点型。 GaussDB除以0会报错,MySQL返回null。 “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
MySQL和GaussDB中Database和Schema之间的差异 在MySQL中Database和Schema是同义词;而在GaussDB中,一个Database 下可以有多个Schema。在该特性中,每个MySQL中的Database都被映射到GaussDB的一个Schema。 在MySQL中,IND
数据类型支持的属性 表1 数据类型支持的属性 序号 MySQL数据库 GaussDB数据库 1 NULL 支持 2 NOT NULL 支持 3 DEFAULT 支持 4 ON UPDATE 支持 5 PRIMARY KEY 支持 6 CHARACTER SET name 支持 7
持20200101数值输入。MySQL支持数值输入转换为date类型。 分隔符:GaussDB不支持加号“+”、冒号“:”作为年、月、日之间的分隔符,其他的符号都支持。MySQL所有符号均可作为分隔符。 分隔符混合使用的某些场景也不支持,与MySQL也有差异,如'2020-01>
二进制数据类型 表1 二进制数据类型 序号 MySQL数据库 GaussDB数据库 差异 1 BINARY[(M)] 不支持 - 2 VARBINARY(M) 不支持 - 3 TINYBLOB 支持 取值范围:不支持长度限制255字节(最大不超过1G),不支持超限后,根据严格宽松模式报错和截断告警。
字符串数据类型 序号 MySQL数据库 GaussDB数据库 差异 1 CHAR(M) 支持,存在差异 输入格式: 输入二进制或十六进制字符串,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。 GaussDB不支持转义字符输入,MySQL支持。 2 VARCHAR(M)
表1 二进制数据类型 序号 MySQL数据库 GaussDB数据库 差异 1 BINARY[(M)] 支持,存在差异 输入格式: GaussDB不支持转义字符输入,MySQL支持。 输入二进制或十六进制字符串,GaussDB输出为十六进制,MySQL中根据ASCII码表转义,无法转义的输出为空。
分布式 MySQL数据库兼容MySQL模式 父主题: 与MySQL兼容性说明
MySQL数据库兼容性B模式 MySQL数据库兼容性概述 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动 父主题: 主备版
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 DDL DML DCL 父主题: MySQL数据库兼容性B模式
位串类型初始值的差异。例如: MySQLBIT类型的初始值为空串'',即: mysql> CREATE TABLE test(f1 BIT(3) NOT NULL); Query OK, 0 rows affected (0.01 sec) mysql> REPLACE INTO
'\u'时,GaussDB行为与MySQL5.7不一致。MySQL5.7存在bug,MySQL后续版本已经修复与GaussDB一致。 当开启b_format_dev_version='s2'时,GaussDB '\b' 可以与'\\b'匹配,MySQL匹配失败 模式字符串pat非法
事务 GaussDB数据库兼容MySQL的事务,但存在部分差异。本章节介绍GaussDB的M-Compatibility数据库中事务相关的差异。 事务默认隔离级别 M-Compatibility默认隔离级别为READ COMMITTED,MySQL默认隔离级别为REPEATABLE-READ。
utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL5.7保持一致。 GaussDB中utf8和utf8mb4为同一个字符集。 表1 排序规则列表 序号 MySQL数据库 GaussDB数据库 1 utf8mb4_general_ci 支持 2
系统函数 GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。如未列出,函数行为默认为GaussDB原生行为。 GaussDB MySQL兼容性的绝大部分系统函数目前均存在返回值与MySQL精度不一致(结果后面0的位数)的问题,这是由于部分数据类型在某些场景下仍
SET 自定义变量长度的差异。例如: MySQL自定义变量名长度没有约束。 GaussDB自定义变量名长度不超过64字节,超过部分的变量名会截断并提示告警。 2 SET TRANSACTION语法兼容 SET TRANSACTION MySQL可以设置当前会话(session)和全
GaussDB无引号标识符中不支持以美元符号($)开头,MySQL无引号标识符中支持。 GaussDB无引号标识符中的支持大小写敏感的数据库对象。 GaussDB标识符支持U+0080~U+00FF扩展字符,MySQL标识符支持U+0080~U+FFFF的扩展字符。 无引号标识