检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
MySQL兼容性MySQL模式概述 MySQL兼容性MySQL模式主要介绍GaussDB数据库的MySQL兼容性MySQL模式(即sql_compatibility = 'MYSQL'、且设置参数b_format_version='5.7'、b_format_dev_version='s1'时)与MySQL
LANGUAGE plpgsql; --调用该存储过程。 openGauss=# CALL regress_record('abc'); --删除存储过程。 openGauss=# DROP PROCEDURE regress_record; 父主题: 数组和record
重置参数组 功能介绍 重置参数组。 调用接口前,您需要了解API 认证鉴权。 调用接口前,您需要提前获取到地区和终端节点,即下文中的Endpoint值。 调试 您可以在API Explorer中调试该接口。 接口约束 仅自定义模板才可以重置。 URI POST https://{
record_type声明record变量。 如果成员有复合类型,在声明阶段不支持指定默认值,该行为同声明阶段的变量一样。 datatype可以为存储过程中定义record类型、数组类型和集合类型(匿名块不支持)。 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14
设置enable_recordtype_check_strict = on后,存储过程里的record类型not null功能生效。 datatype可以为存储过程中定义record类型、数组类型和集合类型(匿名块不支持)。 打开guc参数 set behavior_compat_options
SQL DDL DML DCL 父主题: MySQL兼容性MySQL模式
set enable_recordtype_check_strict = on;后,存储过程里的record类型not null功能生效。 datatype可以为存储过程中定义record类型、数组类型和集合类型(匿名块不支持)。 打开guc参数 set behavior_compat_options
datatype:record类型中成员的类型。 expression:设置默认值的表达式。 在GaussDB中: record类型的变量的赋值支持: 在函数或存储过程的声明阶段,声明一个record类型,并且可以在该类型中定义成员变量。 一个record变量到另一个record变量的赋值。 SELECT
NULL时初始值的差异。例如: MySQL BIT类型的初始值为空串'',即: mysql> CREATE TABLE test(f1 BIT(3) NOT NULL); Query OK, 0 rows affected (0.01 sec) mysql> REPLACE INTO
crement的值,会产生错误。MySQL允许,并说明auto_increment_offset会被忽略。 在表有主键或索引的情况下,ALTER TABLE命令重写表数据的顺序与MySQL不一定相同,GaussDB按表数据存储顺序重写,MySQL会按主键或索引顺序重写,导致自增值的顺序可能不同。
作为函数/存储过程出入参、返回值时,MySQL支持功能、GaussDB语法不报错功能不支持。 GaussDB数据库和MySQL数据库整数类型具体差异请参见表1。 表1 整数类型 MySQL数据库 GaussDB数据库 差异 BOOL 支持,存在差异 MySQL:BOOL/BOOLEAN类型实际映射为TINYINT类型。
系统函数兼容性概述 流量控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 JSON函数 聚合函数 数字操作函数 其他函数 父主题: MySQL兼容性MySQL模式
来判断该类型支持字符序。MySQL中所有类型可以指定字符序,但除字符串、二进制类型其他排序规则无实际意义。 当前排序规则仅支持在其对应字符集与库级字符集一致时可以指定。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致,utf8
并使用科学计数法计数。和MySQL的非JSON类型入参相同。但是在JSON类型入参时,由于JSON类型未完全与MySQL兼容,此场景下会产生差异。MySQL会完整显示数字(并且当数字长度超过82时,MySQL会给出错误的结果),GaussDB依然将超长数字解析为一个double
驱动 JDBC 父主题: MySQL兼容性MySQL模式
数字操作函数列表 MySQL数据库 GaussDB数据库 差异 log2() 支持,存在差异 小数位显示与MySQL存在差异,受GaussDB浮点数据类型限制,可通过参数extra_float_digits控制小数位个数显示。 由于输入精度内部处理差异,GaussDB与MySQL会存在结果计算差异。
数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性MySQL模式
字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 gbk 支持 gb18030 支持 目前GaussDB对不属于当前字符集的非法字符未执行严格的编码逻辑校验,可能导致此类非法字符成功输入。而MySQL会校验报错。 父主题: MySQL兼容性MySQL模式
无索引的集合类型 以变长数组的方式存储指定数据类型的成员,用户可以通过extend函数扩展存储空间,通过trim函数释放存储空间。存储空间为10,成员类型为int的集合变量x,存储方式如下图所示: 其中成员 x(2),x(5),x(8)三个成员是无效的,但是存储空间仍然保留,后续可以继续赋值,而不需要重新分配空间。
无索引的集合类型 以变长数组的方式存储指定数据类型的成员,用户可以通过extend函数扩展存储空间,通过trim函数释放存储空间。存储空间为10,成员类型为int的集合变量x,存储方式如下图所示: 其中成员 x(2),x(5),x(8)三个成员是无效的,但是存储空间仍然保留,后续可以继续赋值,而不需要重新分配空间。