检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
算时,返回值为类型本身,不会向上提升类型,当返回值超范围时报错。 MySQL:支持提升类型到BIGINT后计算。 |、&、^、~运算符 GaussDB:在类型所占用BIT位中计算;GaussDB中^表示指数运算,如需使用异或运算符,使用#替换。 MySQL:提升类型计算。 负数显示类型转换:
用户自定义子类型 PL/SQL中使用SUBTYPE可以创建自己的子类型,其基类型可以是任何基础类型或用户自定义类型。子类型可以提供数据类型的兼容性,显示该类型数据项的预期用途,检测超出范围的值。 SUBTYPE基础定义语法: SUBTYPE subtype_name IS base_type
JSON数据类型 表1 JSON数据类型 MySQ数据库 GaussDB数据库 差异 JSON 支持,存在差异 GaussDB数据库MySQL兼容性B模式中的JSON类型与GaussDB数据库原生的JSON类型行为一致,与MySQL行为差异较大,此处不再逐个列出。 GaussDB
个不同类型的处理规则。此方式不存在类型隐式转换,但自定义的处理规则隐含了转换的操作。 集合运算和表达式场景,确定目标数据类型的规则: 如果所有类型都相同,则此类型即为目标类型。 两个数据类型如果不同,检查数据类型是否属于同一种类的数据类型,如数值类型、字符类型、日期时间类型等。不
向量化引擎支持的数据类型 向量化引擎支持的数据类型如表1所示。 表1 向量化引擎支持的数据类型 类别 数据类型 长度 是否支持 Numeric Types tinyint [unsigned] 1 支持 smallint [unsigned] 2 支持 mediumint [unsigned]
向量化引擎支持的数据类型 向量化引擎支持的数据类型如表1所示。 表1 向量化引擎支持的数据类型 类别 数据类型 长度 是否支持 Numeric Types tinyint [unsigned] 1 支持 smallint [unsigned] 2 支持 mediumint [unsigned]
JSON数据类型 表1 JSON数据类型 MySQL数据库 GaussDB数据库 差异 JSON 支持,存在差异 GaussDB数据库MySQL兼容性B模式中的JSON类型与GaussDB数据库原生的JSON类型行为一致,与MySQL行为差异较大,此处不再逐个列出。 GaussD
个不同类型的处理规则。此方式不存在类型隐式转换,但自定义的处理规则隐含了转换的操作。 集合运算和表达式场景,确定目标数据类型的规则: 如果所有类型都相同,则此类型即为目标类型。 两个数据类型如果不同,检查数据类型是否属于同一种类的数据类型,如数值类型、字符类型、日期时间类型等。不
char)语法无法根据输入的字符串长度转成对应的类型,只支持转成varchar类型。不支持cast( '' as char) 和cast( '' as char(0))将空串转成char(0)类型。MySQL支持按长度转成对应的类型。 操作符 GaussDB能正常转成浮点型的字符
数据类型支持的属性 表1 数据类型支持的属性 MySQ数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 AUTO_INCREMENT 支持 CHARACTER SET name 支持
terval类型的减法运算,返回结果为date类型;date类型之间的减法运算,返回结果为interval类型。 MySQL date类型和其他数值类型运算时,会先将date转换为数值类型,然后按照数值类型运算,结果也为数值类型。与GaussDB存在差异。如: 1 2 3
支持,存在差异 表3 浮点类型 MySQL数据库 GaussDB数据库 差异 FLOAT[(M,D)] [ZEROFILL] 支持,存在差异 FLOAT数据类型不支持KEY键值分区策略分区表。 FLOAT数据类型不支持KEY键值分区策略分区表。 DOUBLE数据类型不支持KEY键值分区策略分区表。
数值数据类型 除特别说明外,MySQL兼容性M-Compatibility模式中的数据类型精度、标度、位数大小等默认不支持用浮点型数值定义,建议使用合法的整型数值定义。 表1 整数类型 MySQL数据库 GaussDB数据库 差异 BOOL 支持,存在差异 输出格式:GaussDB中SELECT
row) 隐式类型转换差异点 GaussDB中统一平铺成小类型到小类型的转换规则,MySQL中使用小类型转大类型,大类型转小类型的转换规则。 GaussDB中隐式转换因数据类型本身差异点,输出格式存在部分行为不一致。 GaussDB中的隐式转换,BIT数据类型到字符数据类型和二进制数
char)语法无法根据输入的字符串长度转成对应的类型,只支持转成varchar类型。不支持cast( '' as char) 和cast( '' as char(0))将空串转成char(0)类型。MySQL支持按长度转成对应的类型。 操作符 GaussDB能正常转成浮点型的字符
cimal类型。 隐式类型转换差异点 GaussDB中统一平铺成小类型到小类型的转换规则,MySQL中使用小类型转大类型,大类型转小类型的转换规则。 GaussDB中隐式转换因数据类型本身差异点,输出格式存在部分行为不一致。 GaussDB中的隐式转换,BIT数据类型到字符数据类
terval类型的减法运算,返回结果为date类型;date类型之间的减法运算,返回结果为interval类型。 MySQL date类型和其他数值类型运算时,会先将date转换为数值类型,然后按照数值类型运算,结果也为数值类型。与GaussDB存在差异。如: 1 2 3
二进制数据类型 表1 二进制数据类型 MySQL数据库 GaussDB数据库 差异 BINARY[(M)] 不支持 - VARBINARY(M) 不支持 - TINYBLOB 支持,存在差异 取值范围:GaussDB中该类型由BYTEA类型映射得来,长度不能超过1GB,超过长度限
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 CHARACTER SET name 支持 COLLATE name 支持 父主题:
选择数据类型 高效数据类型,主要包括以下三方面: 尽量使用执行效率比较高的数据类型 一般来说整型数据运算(包括=、>、<、≧、≦、≠等常规的比较运算,以及group by)的效率比字符串、浮点数要高。 尽量使用短字段的数据类型 长度较短的数据类型不仅可以减小数据文件的大小,提升I