检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
JDBC JDBC接口参考 父主题: 驱动
SQL DDL DML DCL 父主题: MySQL兼容性B模式
数字操作函数列表 MySQL数据库 GaussDB数据库 差异 log2() 支持,存在差异 小数位显示与MySQL存在差异,受GaussDB浮点数据类型限制,可通过参数extra_float_digits控制小数位个数显示。 由于输入精度内部处理差异,GaussDB与MySQL会存在结果计算差异。
DEFAULT}; GaussDB中暂不支持指定charset_name与数据库字符集不同。具体请参见《开发指南》中“SQL参考 > SQL语法 > S > SET ”章节。 父主题: SQL
返回的是infinity。对于超过范围的值,严格模式下GaussDB会报错,MySQL是否报错取决于使用场景。一般查询场景不报错,而执行DML SQL语句更改表属性的值时报错。宽松模式下GaussDB返回0000-00-00 00:00:00值,MySQL根据使用场景可能报错,也可能返回0000-00-00
SQL兼容性概述 GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但在M-Compatibility不可以或存在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字
char(0))将空串转成char(0)类型。MySQL支持按长度转成对应的类型。 操作符 GaussDB能正常转成浮点型的字符串与整型值进行加、减、乘、除、求余计算,返回值是整型值,MySQL是返回浮点型。 GaussDB除以0会报错,MySQL返回null。 “~”:GaussDB返回负数,MySQL返回8字节无符号整数。
^ 当查询的系统变量类型为BOOLEAN时,GaussDB中输出结果为t/f,MySQL为1/0,BOOLEAN类型实际映射为TINYINT类型。 子查询 SELECT GaussDB不支持子查询结果包含多列,包含多列时执行会报错;MySQL支持子查询包含多列。 MySQL的行为:
GaussDB可以使用SELECT INTO根据查询结果创建一个新表,MySQL不支持。 GaussDB的SELECT INTO语法不支持将多个查询进行集合运算后的结果作为查询结果。 REPLACE INTO语法 REPLACE 时间类型初始值的差异。例如: MySQL不受严格模式和宽松模式的影响,可向表中插入时间0值,即:
在query为复合查询,子查询等非简单查询场景下,M-Compatibility模式针对上述类型的计算操作与MySQL存在差异,M-Compatibility模式下新创建表的数据类型列精度属性不保留。 CREATE VIEW AS SELECT场景。当UNION嵌套子查询时,MySQL会对内
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,
系统函数兼容性概述 流量控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 JSON函数 聚合函数 数字操作函数 其他函数 父主题: MySQL兼容性MySQL模式
SQL查询和子查询 GaussDB数据库兼容除分层查询以外的SQL查询和子查询。 表1 SQL查询和子查询 序号 Oracle数据库 GaussDB数据库 差异 1 创建简单查询 支持 - 2 分层查询 支持,有差异 GaussDB仅支持Oracle中的CONNECT_BY_FILTERING
SQL查询和子查询 GaussDB数据库兼容除分层查询以外的SQL查询和子查询。 表1 SQL查询和子查询 序号 Oracle数据库 GaussDB数据库 差异 1 创建简单查询 支持 - 2 分层查询 不支持 - 3 UNION [ALL],INTERSECT,减运算符 支持 -
TABLE、CREATE ANY INDEX等;在MySQL中,不支持ANY权限的赋予。 MySQL中提供SHOW GRANTS查询用户权限;M-Compatibility中,可以通过gsql客户端元命令'\l+'、'\dn+' 、'\dp'查询权限信息,也可以通过查询pg_namespace、pg
GaussDB分区名使用双引号(需要设置SQL_MODE为ANSI_QUOTES)或反引号时是区分大小写的,MySQL不区分。 MySQL标识符长度限制为64字符,而GaussDB标识符长度限制为63字节。超过标识符的长度限制后,MySql报错,GaussDB会对标识符截断并告警。
GaussDB分区名使用双引号(需要设置SQL_MODE为ANSI_QUOTES)或反引号时是区分大小写的,MySQL不区分。 MySQL标识符长度限制为64字符,而GaussDB标识符长度限制为63字节。超过标识符的长度限制后,MySql报错,GaussDB会对标识符截断并告警。 父主题: SQL
数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性MySQL模式
系统函数兼容性概述 GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。 除特别说明外,MySQL兼容性MySQL模式中的函数行为默认为GaussDB原生行为。 GaussDB MySQL兼容性的绝大部分系统函数目前均存在返回值与MySQL精度不一致(结果后面0的位数)的问题,
columns_priv、m_schema.func、m_schema.procs_priv 在MySQL下需要授权后才能查看视图内容,M-Compatibility数据库可以根据默认权限查看到对应的内容。如对于表t1,在MySQL下需要先对t1给对应的用户授权,才能在权限视图中看到对应的权限信息,M-