华为云计算 云知识 不同系统函数差异有哪些

不同系统函数差异有哪些

1.数学函数

GaussDB(DWS)仅支持两数值的按位与函数(bitand),不支持按位或(bitor)和按位异或函数(bitxor)。

除过正文所述数学函数外,GaussDB(DWS)还提供下列常用函数。

三角函数:tan (正切)、 cot (余切)、 atan/atan2 (反正切)、radians (角度转弧度)、 degrees (弧度转角度)

其他函数:random (生成随机数)、setseed (设置种子)、pi (“π”常量)、width_bucket (返回参数指定的桶)

GaussDB(for MySQL)中函数truncate按参数指定精度截取,与GaussDB(DWS)的函数trunc()等效。

2.字符处理函数

GaussDB(DWS)获取字符串长度的函数中,除过length()外,还提供bit_length (位数)、char_length/length (字符个数)、 lengthb/octet_length (字节数)​ 。

提取或截取子字符串的函数,除过left、right、substr外,还有substring/substrb (提取子串)、trim/btrim/ltrim/rtrim (删除子串)​。

字符串拼接函数,除过concat、concat_ws外,还有rawcat()。

字符串替换/填充函数,除过replace外,还有overlay(替换子串)、lpad(在源string左侧填充至length长度)、rpad(右侧填充)。

查找子串位置信息的函数,除过instr外,还有position、strops。

函数split_part()是最常用的字符串分割函数,按分隔符参数分割源串string,返回第field个子字符串。

GaussDB(DWS)不仅提供字符串大小写转换upper、lower,还有initcap、format、convert,其中initcap转换为每个单词首字符大写,其他字母小写的形式。

GaussDB(DWS)提供一系列正则表达式处理函数,如,regexp_like(模式匹配)、regexp_substr(提取子串)、regexp_matches(所有匹配子串)、​regexp_split_to_array/regexp_split_to_table(分割)、regexp_replace(替换)。

GaussDB(DWS)还提供repeat(源串string重复numbers次) 、chr(给定整型参数的ASCII字符)​两个常用函数。

3.时间日期函数

GaussDB(DWS)不仅支持GaussDB(for MySQL)已有的时间域截取函数extract,还支持函数date_trunc、date_part。

GaussDB(DWS)提供日期时间有效性的检查函数isfinite。

获取特殊日期时间的函数中, GaussDB(DWS)不支持systimestamp,但有等效特殊日期值current_timestamp、函数clock_timestamp、pg_systimestamp(),还不支持unix_timestamp()、from_unixtime()、getutcdate()。

除此之外,提供下列特殊日期时间函数,

statement_timestamp/timeofday/transaction_timestamp(获取当前日期及时间)

last_day(d): 获取时间点d对应本月的最后一天的时间

next_day(x, y): 计算时间点x开始的下一个星期y的时间​

GaussDB(for MySQL)设置休眠时间函数sleep(),等效于GaussDB(DWS)中的pg_sleep()。

另外, GaussDB(DWS)还提供其他的日期时间函数及特殊值:justify_days(interval):将时间间隔以30天为单位转换为月;justify_hours(interval):将时间间隔以24小时为单位转换为小时;age(timestamp, timestamp): 两个时间相减,如果参数2缺省,则与当前时间相减;current_date,current_date,current_time,current_timestamp,localtime,localtimestamp。​

4.类型转换函数

除常用的转换函数cast()、convert()等外, GaussDB(for MySQL)的其他类型转换函数(像if、ifnull、nullif等)都划归到条件表达式函数中,用法与GaussDB(for MySQL)基本类似。

GaussDB(DWS)除过上文所涉及的常用函数外,与其丰富的数据类型对应,还提供一系列相应处理函数,比如,几何函数、网络地址函数、文本检索函数、UUID函数、JSON函数、HLL函数、SEQUENCE函数、数组函数、范围函数等。

上一篇:Next.js文档手册学习与基本介绍 下一篇:CDN被禁用了?如何解禁?