检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GaussDB数据库在数据类型、SQL功能和数据库对象等基本功能上与MySQL数据库兼容。 由于GaussDB数据库与MySQL数据库底层框架实现存在差异,GaussDB数据库与MySQL数据库仍存在部分差异。 父主题: MySQL数据库兼容MySQL模式
MySQL数据库兼容MySQL模式 MySQL数据库兼容性概述 数据类型 系统函数 操作符 字符集 排序规则 SQL 驱动 父主题: 分布式版
驱动 JDBC 父主题: MySQL数据库兼容MySQL模式
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 DDL DML DCL 父主题: MySQL数据库兼容MySQL模式
'\u'时,GaussDB行为与MySQL5.7不一致。MySQL5.7存在bug,MySQL后续版本已经修复与GaussDB一致。 当开启b_format_dev_version='s2'时,GaussDB '\b' 可以与'\\b'匹配,MySQL匹配失败。 模式字符串pat非
GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。如未列出,函数行为默认为GaussDB原生行为。 流量控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 JSON函数 聚合函数 数字操作函数 其他函数 父主题: MySQL数据库兼容MySQL模式
字符集列表 序号 MySQL数据库 GaussDB数据库 1 utf8mb4 支持 2 gbk 支持 3 gb18030 支持 目前GaussDB对不属于当前字符集的非法字符未执行严格的编码逻辑校验,可能导致此类非法字符成功输入。而MySQL会校验报错。 父主题: MySQL数据库兼容MySQL模式
NULL时初始值的差异。例如: MySQL BIT类型的初始值为空串'',即: mysql> CREATE TABLE test(f1 BIT(3) NOT NULL); Query OK, 0 rows affected (0.01 sec) mysql> REPLACE INTO
EXCHANGE PARTITION。MySQL自动增长列必须为索引第一个字段。 AUTO_INCREMENT = value语法,value必须为小于2^127的正数。MySQL不校验value。 当自增值已经达到字段数据类型的最大值时,继续自增将产生错误。MySQL有些场景产生错误或警告,有些场景仍自增为最大值。
GUC参数group_concat_max_len有效范围是0-1073741823,最大值比MySQL小。 2 DEFAULT() 支持 字段默认值为数组形式,GaussDB返回数组形式,MySQL不支持数组类型。 GaussDB字段是隐藏列(比如xmin、cmin),函数返回空值。
认情况下会与MySQL有一定差异,需要设置GUC参数set standard_conforming_strings= off;的情况下,对于转义字符的场景才会与MySQL兼容,但是会产生非标准字符输入的warning告警,在转义字符中\t、\u与转义数字与MySQL有差异。JSO
来判断该类型支持字符序。MySQL中所有类型可以指定字符序,但除字符串、二进制类型其他排序规则无实际意义。 当前排序规则仅支持在其对应字符集与库级字符集一致时可以指定。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL5.7保持一致,utf8m
出结果,MySQL直接输出结果。 String getString(String columnLabel) 按列名获取String型数据。 字段类型为整型且带有ZEROFILL属性时,GaussDB按照ZEROFILL属性要求的宽度信息用0进行补位后输出结果,MySQL直接输出结果。
其他函数 表1 其他函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 UUID() 支持 - 2 UUID_SHORT() 支持 - 父主题: 系统函数
强制转换函数 表1 强制转换函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 CAST() 支持 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 2 CONVERT() 支持 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。
数据类型支持的属性 数据类型转换 父主题: MySQL数据库兼容MySQL模式
数字操作函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 log2() 支持 小数位显示与MySQL存在差异,受GaussDB浮点数据类型限制,可通过参数extra_float_digits控制小数位个数显示。 由于输入精度内部处理差异,GaussDB与MySQL会存在结果计算差异。
UNIX_TIMESTAMP() 支持 返回值与MySQL有差异,GaussDB返回的是numeric,MySQL返回的是int。 53 UTC_DATE() 支持 MySQL支持无括号调用,GaussDB不支持。MySQL入参整型值会按照一字节最大值255整数回绕。 MySQL入参只支持0-6整数,
JSON数据类型 表1 JSON数据类型 序号 MySQL数据库 GaussDB数据库 1 JSON 不完全兼容 父主题: 数据类型
MEIRC、STRING或TIME其中一个时,输出为TEXT类型,MySQL输出为VARCHAR类型。 两入参类型其中一个为FLOAT4类型另一个为numeric范畴中任一类型,返回值为DOUBLE类型。MySQL其中一入参为FLOAT4,另一入参为TINYINT、UNSIGNED