检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
时)与MySQL 5.7数据库的兼容性对比信息。仅介绍503.0.0版本后新增的兼容性特性,特性的相关规格和约束建议在《开发指南》中查看。 GaussDB数据库在数据类型、SQL功能和数据库对象等基本功能上与MySQL数据库兼容。 由于GaussDB数据库与MySQL数据库在底层
服务器时区的时间。MySQL不支持(5.7版本不支持,8.0及之后的版本支持)。 GaussDB的datetime数据类型的表字段实际上会被转换为timestamp(p) without time zone类型,查询表信息或者使用工具导出的表结构,其字段的数据类型显示的是timestamp(p)
正确的空格,MySQL支持。 GaussDB不支持转义字符输入,不支持""双引号输入,MySQL支持。 语法 GaussDB的 Cast(expr as char)语法无法根据输入的字符串长度转成对应的类型,只支持转成varchar类型。不支持cast( '' as char) 和cast(
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 CHARACTER SET name 支持 COLLATE name 支持 父主题:
JSON数据类型 表1 JSON数据类型 MySQL数据库 GaussDB数据库 差异 JSON 支持,存在差异 GaussDB数据库MySQL兼容性B模式中的JSON类型与GaussDB数据库原生的JSON类型行为一致,与MySQL行为差异较大,此处不再逐个列出。 GaussD
数值数据类型 整数类型 除特别说明外,MySQL兼容性MySQL模式中的数据类型精度、标度、位数大小等默认不支持用浮点型数值定义,建议使用合法的整型数值定义。 整数类型公共差异说明: 输入格式: MySQL 对于类似“asbd”、“12dd”、“12 12”等字符场景的输入,会采
中相同位置的投影列具有不同的数据类型,查询结果的最终数据类型,需要由各个SELECT语句投影列的数据类型共同确定。 确定目标数据类型的规则,GaussDB数据库和MySQL数据库存在体系上的差异。 GaussDB数据库规则: 操作符的操作数类型不一致时,并不是将操作数的类型统一转
数据类型支持的属性 表1 数据类型支持的属性 MySQ数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 AUTO_INCREMENT 支持 CHARACTER SET name 支持
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 AUTO_INCREMENT 支持 CHARACTER SET name 支持
数据类型 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性MySQL模式
GaussDB的按精度输出的时间值(小数点后的值)是四舍五入的;MySQL是直接截断的。GaussDB按精度输出的时间值(小数点后的值)末尾0都不显示;MySQL会显示。GaussDB只支持输入[0,6]范围内的整型值,作为返回时间的精度,其他均报错;MySQL的精度值有效值是[0
作为函数/存储过程出入参、返回值时,MySQL支持功能、GaussDB语法不报错功能不支持。 GaussDB数据库和MySQL数据库整数类型具体差异请参见表1。 表1 整数类型 MySQL数据库 GaussDB数据库 差异 BOOL 支持,存在差异 MySQL:BOOL/BOOLEAN类型实际映射为TINYINT类型。
数据类型转换 不同的数据类型之间支持转换。有如下场景涉及到数据类型转换: 操作符(比较操作符、运算操作符等)的操作数的数据类型不一致。常见于查询条件或者关联条件中的比较运算。 函数调用时实参和形参的数据类型不一致。 DML语句要更新(包括INSERT、UPDATE、MERGE、R
法计数。和MySQL的非JSON类型入参相同。但是在JSON类型入参时,由于JSON类型未完全与MySQL兼容,此场景下会产生差异。MySQL会完整显示数字(并且当数字长度超过82时,MySQL会给出错误的结果),GaussDB依然将超长数字解析为一个double精度的值。考虑到
数值数据类型 除特别说明外,MySQL兼容性M-Compatibility模式中的数据类型精度、标度、位数大小等默认不支持用浮点型数值定义,建议使用合法的整型数值定义。 表1 整数类型 MySQL数据库 GaussDB数据库 差异 BOOL 支持,存在差异 输出格式:GaussDB中SELECT
数据类型 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性B模式
字符集 GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 gbk 支持 gb18030 支持 目前GaussDB对不属于当前字符集的非法字符未执行严格的编码逻辑校验,可能导致
二进制数据类型 表1 二进制数据类型 MySQL数据库 GaussDB数据库 差异 BINARY[(M)] 不支持 - VARBINARY(M) 不支持 - TINYBLOB 支持,存在差异 取值范围:GaussDB中该类型由BYTEA类型映射得来,长度不能超过1GB,超过长度限
GaussDB与MySQL的JDBC接口定义一致,均遵循业界规范,本章节主要介绍GaussDB数据库的MySQL兼容性B模式与MySQL数据库JDBC接口的行为差异。 获取结果集中的数据 ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用的方法如表1所示,其他方法请参考JDK官方文档。
驱动 JDBC 父主题: MySQL兼容性MySQL模式