检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。 本章节介绍GaussDB数据库当前支持的MySQL语法。 DDL DML DCL 父主题: MySQL兼容性MySQL模式
字符串函数 表1 字符串函数列表 MySQL数据库 GaussDB数据库 差异 BIN() 支持,存在差异 函数入参支持类型存在差异,GaussDB入参支持类型如下: 整数类型:tinyint、smallint、mediumint、int、bigint 无符号整数类型:tinyint
符,但存在部分差异。如未列出,操作符行为默认为GaussDB原生行为,目前存在MySQL不支持但是GaussDB支持的语句,在MySQL兼容性下,这类语句通常为系统内部使用,因此不建议使用。 操作符差异 ORDER BY排序对NULL值处理的差异。MySQL在排序时会将NULL值
如果需要使用完整的功能,需要将GUC参数m_format_behavior_compat_options开启enable_precision_decimal选项,否则由于版本兼容性问题,涉及数据类型精度相关的类型将导致行为报错。比如:如果SELECT列包含非直接表列(表达式、函数、常量等),以及union场景(因为涉及结果类型推导),都会报错。
对涉及并发更新的目标表的元组进行重新匹配,可能产生数据不一致。 多表操作语法中目标表和范围表的校验规则与MySQL会存在差异,设置GUC兼容性参数m_format_dev_version为's2'后,检验规则保持一致。 DELETE支持ORDER BY和LIMIT DELETE -
JDBC接口参考 GaussDB与MySQL的JDBC接口定义一致,均遵循业界规范,本章节主要介绍GaussDB数据库的MySQL兼容性B模式与MySQL数据库JDBC接口的行为差异。 获取结果集中的数据 ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用
符,但存在部分差异。如未列出,操作符行为默认为GaussDB原生行为,目前存在MySQL不支持但是GaussDB支持的语句,在MySQL兼容性下,这类语句通常为系统内部使用,因此不建议使用。 操作符差异 ORDER BY排序对NULL值处理的差异。MySQL在排序时会将NULL值
与'\', '\'', '\\'等符号一致的编码时,会导致与MySQL行为不一致,建议暂时关闭转义符开关进行规避。 父主题: MySQL兼容性M-Compatibility模式
GaussDB中CREATE TABLE语法的ENGINE和ROW_FORMAT选项仅做了语法适配,实际不生效,因此在返回的建表语句中不予显示。 设置兼容性参数m_format_dev_version为's2'后,返回的建表语句才兼容MySQL。兼容的内容包括:列注释位置变更、表注释位置变更、全局临时表ON
in set (0.00 sec) 关键字 标识符 DDL DML DCL 其他语句 用户与权限 系统表和系统视图 父主题: MySQL兼容性M-Compatibility模式
聚合函数 表1 聚合函数列表 MySQL数据库 GaussDB数据库 差异 GROUP_CONCAT() 支持,存在差异 当group_concat参数中同时有DISTINCT和ORDER BY语法时,所有ORDER BY后的表达式必须也在DISTINCT的表达式之中。 group_concat(
强制转换函数 表1 强制转换函数列表 MySQL数据库 GaussDB数据库 差异 CAST() 支持,存在差异 由于函数执行机制不同,flags无法传递给内层函数,在cast函数嵌套其他函数(如greatest、least等)时,内层函数返回小于1的值,结果与MySQL不一致。
数字操作函数 表1 数字操作函数列表 MySQL数据库 GaussDB数据库 差异 ABS() 支持 - ACOS() 支持 - ASIN() 支持 - ATAN() 支持 - ATAN2() 支持 - CEILING() 支持,存在差异 部分操作结果类型以及CREATE TABLE
数值数据类型 整数类型 除特别说明外,MySQL兼容性MySQL模式中的数据类型精度、标度、位数大小等默认不支持用浮点型数值定义,建议使用合法的整型数值定义。 整数类型公共差异说明: 输入格式: MySQL 对于类似“asbd”、“12dd”、“12 12”等字符场景的输入,会采
加密函数 表1 加密函数列表 MySQL数据库 GaussDB数据库 差异 AES_DECRYPT() 支持,存在差异 ecb为不安全加密模式,GaussDB不支持,默认为cbc模式。 GaussDB中,当指定数据库使用的字符编码是SQL_ASCII时,服务器把字节值0~127根
数据类型兼容性 表1 其他PL/SQL数据类型 序号 Oracle数据库 GaussDB数据库 差异 1 CHARACTER 支持,有差异 GaussDB中字节长度限制为:1~10485760。 Oracle中字节长度限制为:1~32767。 2 VARCHAR 支持,有差异 G
驱动 JDBC 父主题: MySQL兼容性B模式
MySQL兼容性M-Compatibility模式概述 本章节主要介绍GaussDB数据库的MySQL兼容性M-Compatibility模式(即sql_compatibility='M')与MySQL 5.7数据库的兼容性对比信息。仅介绍505.1版本后新增的兼容性特性,特性的
JSON函数 JSON函数差异说明: 对于JSON函数和其他字符入参函数来说,如果含有转义字符的输入,默认情况下会与MySQL有一定差异,需要设置GUC参数set standard_conforming_strings= off;的情况下,对于转义字符的场景才会与MySQL兼容,
DML 表1 DML语法兼容介绍 概述 详细语法说明 差异 DELETE支持ORDER BY和LIMIT DELETE - UPDATE支持ORDER BY和LIMIT UPDATE - REPLACE INTO语法兼容 REPLACE 时间类型初始值的差异。例如: MySQL不