检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
回绕问题;在MySQL 8.0中已修复此问题。GaussDB下此函数的表现与MySQL 8.0版本保持一致。 负数period的表现: MySQL在5.7版本,会将负数年份解析为异常值而不是报错。GaussDB入参或结果(如100年1月减去10000月)出现负数时报错。在MySQL
回绕问题;在MySQL 8.0中已修复此问题。GaussDB下此函数的表现与MySQL 8.0版本保持一致。 负数period的表现。 MySQL在5.7版本,会将负数年份解析为异常值而不是报错。GaussDB入参或结果(如100年1月减去10000月)出现负数时报错。在MySQL
SQL兼容性概述 GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但在M-Compatibility不可以或存在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字
作为函数/存储过程出入参、返回值时,MySQL支持功能、GaussDB语法不报错功能不支持。 GaussDB数据库和MySQL数据库整数类型具体差异请参见表1。 表1 整数类型 MySQL数据库 GaussDB数据库 差异 BOOL 支持,存在差异 MySQL:BOOL/BOOLEAN类型实际映射为TINYINT类型。
SQL DDL DML DCL 父主题: MySQL兼容性B模式
驱动 JDBC 父主题: MySQL兼容性B模式
GaussDB分区名使用双引号(需要设置SQL_MODE为ANSI_QUOTES)或反引号时是区分大小写的,MySQL不区分。 MySQL标识符长度限制为64字符,而GaussDB标识符长度限制为63字节。超过标识符的长度限制后,MySql报错,GaussDB会对标识符截断并告警。 父主题: SQL
JDBC接口参考 GaussDB与MySQL的JDBC接口定义一致,均遵循业界规范,本章节主要介绍GaussDB数据库的MySQL兼容性B模式与MySQL数据库JDBC接口的行为差异。 获取结果集中的数据 ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用
型时行为存在差异: MySQL 5.7中,AVG(TEXT/BLOB)返回值类型为MEDIUMTEXT类型;MySQL 8.0中,AVG(TEXT/BLOB)返回值类型为DOUBLE类型。 在GaussDB中,AVG(TEXT/BLOB)返回值类型与MySQL 8.0版本保持一致。
utf8mb4_0900_ai_ci时(例如SELECT _utf8'a' collate utf8mb4_bin),MySQL会发生报错,GaussDB不报错。当字符串字符集为utf8mb4,指定其字符序为utf8_bin/utf8_general_ci/utf8_unicode_ci时,存在同样差异。
SQL兼容性概述 GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但在M-Compatibility不可以或存在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字
MySQL兼容性M-Compatibility模式 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动
二进制数据类型 MySQL数据库 GaussDB数据库 差异 BINARY[(M)] 不支持 - VARBINARY(M) 不支持 - TINYBLOB 支持,存在差异 取值范围:GaussDB中该类型由BYTEA类型映射得来,长度不能超过1GB,超过长度限制后会报错。MySQL中该类型
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,
数据类型 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性B模式
默认情况下会与MySQL有一定差异。要实现与MySQL的兼容,需要设置GUC参数standard_conforming_strings取值为off,在这种情况下,转义字符的处理将与MySQL兼容,但是使用转义字符\f、\Z、\0和\uxxxx的场景会与MySQL存在差异。 表1
MySQL兼容性B模式 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动
GaussDB除以0会报错,MySQL返回null。 “~”:GaussDB返回负数,MySQL返回8字节无符号整数。 “^”:GaussDB表示次方幂,MySQL表示按位异或。 TEXT 支持,存在差异 输入格式 GaussDB中该类型的长度不能超过1GB,超过长度限制后会报错。MySQL中该类
成空格,与MySQL行为存在差异。如果兼容性参数m_format_behavior_compat_options中包含disable_zero_chars_conversion选项,则禁止将“\0”字符转换成空格,与MySQL行为一致。 ODBC 父主题: MySQL兼容性M-Compatibility模式
SET 自定义变量长度的差异。例如: MySQL自定义变量名长度没有约束。 GaussDB自定义变量名长度不超过64字节,超过部分的变量名会截断并提示告警。 SET TRANSACTION语法兼容 SET TRANSACTION MySQL可以设置当前会话(session)和全局