检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。 本章节介绍GaussDB数据库当前支持的MySQL语法。 DDL DML DCL 父主题: MySQL兼容性B模式
字符串数据类型 表1 字符串数据类型 MySQL数据库 GaussDB数据库 差异 CHAR[(M)] 支持 输入格式 GaussDB自定义函数参数和返回值不支持长度校验,存储过程参数不支持长度校验,同时也不支持在PAD_CHAR_TO_FULL_LENGTH打开时补齐正确的空格,MySQL支持。
JSON数据类型 表1 JSON数据类型 MySQL数据库 GaussDB数据库 JSON 不完全兼容 父主题: 数据类型
比较函数 表1 比较函数列表 MySQL数据库 GaussDB数据库 差异 COALESCE() 支持,存在差异 union distinct场景下,返回值精度与MySQL不完全一致。 当第一个不为NULL的参数的后续参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,G
聚合函数 表1 聚合函数列表 MySQL数据库 GaussDB数据库 差异 GROUP_CONCAT() 支持,存在差异 当group_concat参数中同时有DISTINCT和ORDER BY语法时,所有ORDER BY后的表达式必须也在DISTINCT的表达式之中。 group_concat(
其他函数 表1 其他函数列表 MySQL数据库 GaussDB数据库 差异 DATABASE() 支持 - UUID() 支持 - UUID_SHORT() 支持 - ANY_VALUE() 支持,存在差异 作为分组的第一条数据是不确定的,与底层算子相关。例如同一条sql语句,G
动态SQL 表1 动态SQL语句执行方式 序号 Oracle数据库 GaussDB数据库 差异 1 EXECUTE IMMEDIATE 支持,有差异 GaussDB通过dynamic_sql_compat参数控制同名变量是否读取同一参数,并且检查调用存储过程时绑定参数出入参类型是否与语句参数类型一致。
聚合函数 表1 聚合函数列表 MySQL数据库 GaussDB数据库 差异 GROUP_CONCAT() 支持,存在差异 当group_concat参数中同时有DISTINCT和ORDER BY语法时,所有ORDER BY后的表达式必须也在DISTINCT的表达式之中。 group_concat(
强制转换函数 表1 强制转换函数列表 MySQL数据库 GaussDB数据库 差异 CAST() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。 CONVERT() 支持,存在差异 数据类型转换规则和支持的转换类型均以GaussDB支持的转换范围和规则为准。
注释 表1 comment 序号 Oracle数据库 GaussDB数据库 差异 1 斜杠和星号(/*) 支持 - 2 两个连字符(--) 支持 - 3 COMMENT命令 支持 - 4 HINT 支持,有差异 GaussDB不支持'--+'hint形式。 具体信息请参见《开发指南》中“SQL调优指南
系统函数 兼容函数分为:单行函数、用户自定义函数、AGG函数、分析函数、对象引用函数、模型函数、OLAP函数。 单行函数 其它函数
动态SQL 表1 动态SQL语句执行方式 序号 Oracle数据库 GaussDB数据库 差异 1 EXECUTE IMMEDIATE 支持,有差异 GaussDB通过dynamic_sql_compat参数控制同名变量是否读取同一参数,并且检查调用存储过程时绑定参数出入参类型是否与语句参数类型一致。
单行函数 序号 Oracle数据库 GaussDB数据库 1 数值函数 支持,有差异 2 返回字符值的字符函数 支持,有差异 3 返回数值的字符函数 支持,有差异 4 字符集函数 不支持 5 Collation函数 不支持 6 日期时间函数 支持,有差异 7 通用比较函数 支持,有差异
字面量 表1 字面量 序号 Oracle数据库 GaussDB数据库 1 文本字面量 支持 2 数值字面量 支持 3 日期时间字面量 支持 4 区间字面量 支持 父主题: SQL的基本元素
格式模型 表1 格式 序号 Oracle数据库 GaussDB数据库 差异 1 数字格式 支持,有差异 GaussDB仅在参数a_format_version值为10c和a_format_dev_version值为s1的情况下,支持$、C、TM、TM9、TME、U格式。同时在该参数下,不支持TH、PL、SG格式。
其它函数 序号 Oracle数据库 GaussDB数据库 1 聚合函数 支持 2 分析函数 支持 3 对象引用函数 不支持 4 模型函数 不支持 5 OLAP函数 不支持 6 数据盒功能函数 不支持 7 关于用户定义的函数 支持 表1 聚合函数 序号 Oracle数据库 GaussDB数据库
集合和Record 表1 类型 序号 Oracle数据库 GaussDB数据库 1 Associative array (or index-by table) 支持 2 VARRAY (variable-size array) 支持 3 Nested table 支持 4 record
系统函数 兼容函数分为:单行函数、用户自定义函数、AGG函数、分析函数、对象引用函数、模型函数、OLAP函数。 单行函数 其它函数
控制语句 表1 条件语句 序号 Oracle数据库 GaussDB数据库 1 IF THEN 支持 2 IF THEN ELSE 支持 3 IF THEN ELSIF 支持 4 simple CASE: CASE selector WHEN selector_value_1 THEN
字面量 表1 字面量 序号 Oracle数据库 GaussDB数据库 1 文本字面量 支持 2 数值字面量 支持 3 日期时间字面量 支持 4 区间字面量 支持 父主题: SQL的基本元素