云服务器内容精选
-
字符串函数 表1 字符串函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 BIN() 支持 函数入参1支持类型存在差异,GaussDB入参1支持类型如下: 整数类型:tinyint、smallint、mediumint、int、bigint 无符号整数类型:tinyint unsigned、smallint unsigned、int unsigned、bigint unsigned 字符和文本类型:char,varchar、tinytext,text,mediumtext,longtext,仅支持纯数字整数字符串,且整数范围在bigint范围内。 浮点类型:float、real、double 定点类型:numeric、decimal、dec 布尔类型:bool 2 CONCAT() 支持 无论参数的数据类型如何,concat返回值的数据类型始终为text;MySQL的concat在含有二进制类型参数时,返回值为二进制类型。 3 CONCAT_WS() 支持 无论参数的数据类型如何,concat_ws返回值的数据类型始终为text;MySQL的concat_ws在含有二进制类型参数时,返回值为二进制类型,其他情况返回值为字符串类型。 4 ELT() 支持 函数入参1支持类型存在差异,GaussDB入参1支持类型如下: 整数类型:tinyint、smallint、mediumint、int、bigint 无符号整数类型:tinyint unsigned、smallint unsigned、int unsigned 字符和文本类型:char,varchar、tinytext,text,mediumtext,longtext,仅支持纯数字整数字符串,且整数范围在bigint范围内。 浮点类型:float、real、double 定点类型:numeric、decimal、dec 布尔类型:bool 函数入参2支持类型存在差异,GaussDB入参2支持类型如下: 整数类型:tinyint、smallint、mediumint、int、bigint 无符号整数类型:tinyint unsigned、smallint unsigned、int unsigned、bigint unsigned 字符和文本类型:char,varchar、tinytext,text,mediumtext,longtext 浮点类型:float、real、double 定点类型:numeric、decimal、dec 布尔类型:bool 大对象类型:tinyblob,blob,mediumblob,longblob 日期类型:datetime,timestamp,date,time 5 FIELD() 支持 函数入参为在bigint最大值~ bigint unsigned最大值范围内的数字,存在不兼容。 函数入参为浮点型float(m, d)、double(m, d)、real(m, d)时精度更高,存在不兼容。 6 FIND_IN_SET() 支持 当数据库encoding = 'SQL_ASCII'时,不支持默认的大小写判断规则,即在用户不指定字符集规则的情况下,大写与小写区分判断。 7 INSERT() 支持 Int64类型传参有范围限制,一旦超出-9223372036854775808~9223372036854775807范围会直接报错,MySQL对数值类型传参范围无限制,异常会告警按照上限或下限数值处理。 字符串传参有限制,入参text类型字符串长度最大为2^30-5字节,入参bytea类型字符串长度最大为2^30-512字节。 s1和s2任意参数为bytea类型时,涉及到结果出现非法字符的情况可能展示结果与MySQL有差异但是字符编码与MySQL是一致的。 8 LOCATE() 支持 入参1为bytea类型,入参2为text类型时,GaussDB与MySQL行为存在差异。 9 MAKE_SET() 支持 bits参数为整型时,最大范围支持到int128,低于MySQL范围。 bits参数为日期类型datetime、timestamp、date、time,由于时间类型转整型与MySQL存在差异,目前均未做支持。 bit类型或bool类型由于此类数据类型Gauss与MySQL存在差异,返回结果导致的差异为GaussDB与MySQL固有差异。bits入参为bool类型,str入参为bit类型与bool类型均不做支持。 bits入参为字符串或文本类型时,仅支持纯整型数字形式,其他形式存在差异。且纯整型数字范围限制在bigint范围。 str入参整型数值超过正负81个9,返回值与MySQL有差异。 str入参当以科学计数法表示时,GaussDB末尾0值会显示,MySQL不显示,以科学计数法打印,此为固有差异。 10 QUOTE() 支持 已知str字符串中含有“\Z”,“\r”,“\%”,“\_”,GaussDB未进行转义,与MySQL存在差异。斜线后跟部分数字也会引起差异,如“\563”。由转义字符引起的本函数与MySQL的差异,此为GaussDB与MySQL的转义字符差异。 str字符串中的“\b”,输出结果表现形式与MySQL有差异。此为GaussDB与MySQL的固有差异 str字符串中含有“\0”时,GaussDB由于UTF-8字符集不识别该字符,输入不成功。此为GaussDB与MySQL的固有差异 str为bit或bool类型时,由于GaussDB与MySQL此类型目前有差异,暂不支持此类类型。 Gauss最大支持1GB数据传输,str入参长度最大支持536870908,函数返回结果字符串最大支持1GB。 str入参整型数值超过正负81个9,返回值与MySQL有差异。 str入参当以科学计数法表示时,GaussDB末尾0值会显示,MySQL不显示,以科学计数法打印,此为固有差异。 11 SPACE() 支持 GaussDB入参1最大支持1073741818,超出返回空字符串。MySQL的入参1默认最大支持4194304,超出告警。 函数入参1支持类型存在差异,GaussDB入参1支持类型如下: 整数类型:tinyint、smallint、mediumint、int、bigint 无符号整数类型:tinyint unsigned、smallint unsigned、int unsigned 字符和文本类型:char,varchar、tinytext,text,mediumtext,longtext,仅支持纯数字整数字符串,且整数范围在bigint范围内。 浮点类型:float、real、double 定点类型:numeric、decimal、dec 布尔类型:bool 12 SUBSTR() 支持 - 13 SUBSTRING() 支持 - 14 SUBSTRING_INDEX() 支持 - 15 STRCMP() 支持 支持入参类型与M存在差异,GaussDB支持类型如下: 字符类型:CHAR、VARCHAR、NVARCHAR2、TEXT 二进制类型:BYTEA 数值类型:TINYING [UNSIGNED]、SMALLINT [UNSIGNED]、INTEGER [UNSIGNED]、BIGINT [UNSIGNED]、FLOAT4、FLOAT8、NUMERIC 日期时间类型:DATE、TIME WITHOUT TIME ZONE、DATETIME、TIMESTAMPTZ 对于数值类型中的浮点类型,由于连接参数设置不同,精度可能与M有差异,不建议使用该场景,或使用NUMERIC类型代替。 16 SHA() / SHA1() 支持 - 17 SHA2() 支持 - 父主题: 系统函数
-
JSON函数 json函数差异说明: 对于json函数和其他字符入参函数来说,如果含有转义字符的输入,默认情况下会与MySQL有一定差异,需要设置GUC参数set standard_conforming_strings= off;的情况下,对于转义字符的场景才会与MySQL兼容,但是会产生非标准字符输入的warning告警,在转义字符中\t、\u与转义数字与MySQL有差异。JSON_UNQUOTE()函数该场景下已做兼容,不设置GUC参数时,仍与MySQL兼容,且不会报警。 在处理超长数字(数字的字符长度超过64)时,GaussDB的json函数会将数字解析为一个double处理,并使用科学计数法计数。和MySQL的非json类型入参相同。但是在json类型入参时,由于json类型未完全与MySQL兼容,此场景下会产生差异。MySQL会完整显示数字(并且当数字长度超过82时,MySQL会给出错误的结果。),GaussDB依然将超长数字解析为一个double精度的值。考虑到超长数字内部都是使用浮点数进行储存,进行运算时无论GaussDB还是MySQL都会有精度丢失,建议您使用字符串来储存超长数字。 gaussdb=# select json_insert('[1, 4, 99999999999999999999999999999999999999999999999999999999999999999999999999]','$[6]',json_insert('[1,4]','$[5]',99999999999999999999999999999999999999999999999999999999999999999999999999)); json_insert ------------------------------ [1, 4, 1e+74, [1, 4, 1e+74]] (1 row) 表1 JSON函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 JSON_APPEND() 支持 - 2 JSON_ARRAY() 支持 - 3 JSON_ARRAY_APPEND() 支持 - 4 JSON_ARRAY_INSERT() 支持 - 5 JSON_CONTAINS() 支持 - 6 JSON_CONTAINS_PATH() 支持 - 7 JSON_DEPTH() 支持 返回值与MySQL有差异,GaussDB返回的是int,MySQL返回的是bigint。 8 JSON_EXTRACT() 支持 - 9 JSON_INSERT() 支持 - 10 JSON_KEYS() 支持 - 11 JSON_LENGTH() 支持 返回值与MySQL有差异,GaussDB返回的是int,MySQL返回的是bigint。 12 JSON_MERGE() 支持 - 13 JSON_OBJECT() 支持 - 14 JSON_QUOTE() 支持 返回值与MySQL有差异,GaussDB返回的是json,MySQL返回的是varchar或者text。 15 JSON_REMOVE() 支持 - 16 JSON_REPLACE() 支持 - 17 JSON_SEARCH() 支持 返回值与MySQL有差异,GaussDB返回的是text,MySQL返回的是json。 18 JSON_SET() 支持 - 19 JSON_TYPE() 支持 数值类型的json值统一识别为number,与MySQL有差异。 20 JSON_UNQUOTE() 支持 - 21 JSON_VALID() 支持 - 父主题: 系统函数
-
REGEXP_INSTR REGEXP_INSTR扩展了INSTR函数的功能,支持搜索字符串的正则表达式模式。DSC可迁移含有2到6个参数的REGEXP_INSTR。 sub_expr参数(参数#7)在Oracle中可用,但不支持迁移。如果输入脚本包含sub_expr,DSC会将其记录为错误。 支持将return_option设为0,不支持其他值。 支持将match_param设为“i”(匹配不区分大小写)和“c”(匹配区分大小写),不支持其他值。 1 2 3 4 5 6 7 8 9 REGEXP_INSTR( string, pattern, [start_position,] [nth_appearance,] [return_option,] [match_param,] [sub_expr] )
-
REGEXP_SUBSTR REGEXP_SUBSTR通过支持搜索字符串的正则表达式模式来扩展SUBSTR函数的功能。可迁移含有2到5个参数的REGEXP_SUBSTR。 sub_expr参数(参数#6)在Oracle中可用,但不支持迁移。如果输入脚本包含sub_expr,则DSC会将其记录为错误。 支持将match_param设为“i”(匹配不区分大小写)和“c”(匹配区分大小写),不支持其他值。 1 2 3 4 5 6 7 8 REGEXP_SUBSTR( string, pattern, [start_position,] [nth_appearance,] [match_param,] [sub_expr] )
-
DBMS_LOB.SUBSTR DBMS_LOB.SUBSTR通过配置参数MigDbmsLob,用户可以指定迁移此函数还是直接保留。 输入:DBMS_LOB.SUBSTR,MigDbmsLob设为true 如果参数MigDbmsLob设为true,则迁移。相反,如果参数MigDbmsLob设为false,则不迁移。 输入 SELECT dbms_lob.substr('!2d3d4dd!',1,5); 输出 If the config param is true, it should be migrated as below: select substr('!2d3d4dd!',5,1); If false, it should be retained as it is: select dbms_lob.substr('!2d3d4dd!',1,5); 输入 SELECT dbms_lob.substr('!2d3d4dd!',5); 输出 If the config param is true, it should be migrated as below: select substr('!2d3d4dd!',1,5); If false, it should be retained as it is: select dbms_lob.substr('!2d3d4dd!',5);
-
DBMS_LOB.CREATETEMPORARY DBMS_LOB.CREATETEMPORARY函数在用户默认的临时表空间中创建一个临时LOB及其对应索引。DBMS_LOB.FREETEMPORARY用于删除临时LOB及其索引。 输入:DBMS_LOB.CREATETEMPORARY和DBMS_LOB.FREETEMPORARY 1 2 3 4 5 6 7 8 DECLARE v_clob clob; BEGIN DBMS_LOB.CREATETEMPORARY(v_clob, TRUE, DBMS_LOB.SESSION); v_clob := TO_CLOB('abcddedf'); DBMS_OUTPUT.PUT_LINE(v_clob); DBMS_LOB.FREETEMPORARY(v_clob); end; / 输出 1 2 3 4 5 6 7 8 9 DECLARE v_clob clob; BEGIN -- DBMS_LOB.CREATETEMPORARY(v_clob, TRUE, DBMS_LOB.SESSION); v_clob := CAST('abcddedf' AS CLOB); DBMS_OUTPUT.PUT_LINE(CAST(v_clob AS TEXT)); -- DBMS_LOB.FREETEMPORARY(v_clob); NULL; end; /
-
DBMS_LOB.FREETEMPORARY DBMS_LOB.FREETEMPORARY函数释放默认临时表空间中的临时BLOB或CLOB。在调用FREETEMPORARY之后,释放的LOB定位器标记为无效。 输入:DBMS_LOB.CREATETEMPORARY和DBMS_LOB.FREETEMPORARY 1 2 3 4 5 6 7 8 DECLARE v_clob clob; BEGIN DBMS_LOB.CREATETEMPORARY(v_clob, TRUE, DBMS_LOB.SESSION); v_clob := TO_CLOB('abcddedf'); DBMS_OUTPUT.PUT_LINE(v_clob); DBMS_LOB.FREETEMPORARY(v_clob); end; / 输出 1 2 3 4 5 6 7 8 9 DECLARE v_clob clob ; BEGIN /*DBMS_LOB.CREATETEMPORARY(v_clob, TRUE, DBMS_LOB.SESSION);*/ v_clob := cast( 'abcddedf' as CLOB ) ; DBMS_OUTPUT.PUT_LINE ( v_clob ) ; /* DBMS_LOB.FREETEMPORARY(v_clob); */ null ; end ; /
-
DBMS_LOB.INSTR DBMS_LOB.INSTR函数从指定的偏移量开始,返回在LOB中第n次匹配模式的位置。 输入:在SQL中使用DBMS_LOB.INSTR 1 2 3 SELECT expr1, …, DBMS_LOB.INSTR(str, septr, 1, 5) FROM tab1 WHERE …; 输出 1 2 3 SELECT expr1, …, INSTR(str, septr, 1, 5) FROM tab1 WHERE … 输入:在PL/SQL中使用DBMS_LOB.INSTR 1 2 3 4 5 6 BEGIN … pos := DBMS_LOB.INSTR(str,septr,1, i); ... END; / 输出 1 2 3 4 5 6 BEGIN … pos := INSTR(str,septr,1, i); ... END; /
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格