Skip to content

Latest commit

 

History

History
executable file
·
94 lines (83 loc) · 7.07 KB

built-in_functions.md

File metadata and controls

executable file
·
94 lines (83 loc) · 7.07 KB

函数

Kuiper具有许多内置函数,可以对数据执行计算。

聚合函数

聚合函数对一组值执行计算并返回单个值。聚合函数只能用作以下表达式:

  • select语句的select列表(子查询或外部查询)。
  • HAVING子句。
Function Example 说明
avg avg(col1) 组中的平均值
count count(*) 组中的项目数
max max(col1) 组中的最大值
min min(col1) 组中的最小值
sum sum(col1) 组中所有值的总和

数学函数

Function Example Description
abs abs(col1) 绝对值
acos acos(col1) 弧度数的反余弦值
asin asin(col1) 弧度数的反正弦值
atan atan(col1) 弧度数的反正切值
atan2 atan2(col1, col2) 正x轴与两个自变量中定义的(x,y)点之间的弧度角
bitand bitand(col1, col2) 对两个Int(-converted)参数的位表示执行按位“与”运算
bitor bitor(col1, col2) 对两个参数的位表示进行或运算
bitxor bitxor(col1, col2) 对两个Int(-converted)参数的位表示执行逐位异或运算
bitnot bitnot(col1) 在Int(-converted)参数的位表示形式上执行按位NOT运算
ceil ceil(col1) 将值舍入到最接近的BIGINT值。
cos cos(col1) 返回以弧度为单位的数字的余弦值。
cosh cosh(col1) 返回弧度数的双曲余弦值。
exp exp(col1) 返回小数点参数的e。
ln ln(col1) 返回参数的自然对数。
log log(col1) 返回参数的以10为底的对数。
mod mod(col1, col2) 返回第一个参数除以第二个参数的余数。
power power(x, y) Pow returns x**y, the base-x exponential of y.
rand rand() 返回一个伪随机数,其均匀分布在0.0和1.0之间。
round round(col1) 将值四舍五入到最接近的BIGINT值。
sign sign(col1) 返回给定数字的符号。 当参数的符号为正时,将返回1。 当参数的符号为负数时,返回-1。 如果参数为0,则返回0。
sin sin(col1) 返回弧度数的正弦值。
sinh sinh(col1) 返回弧度数的双曲正弦值。
sqrt sqrt(col1) 返回数字的平方根。
tan tan(col1) 返回以弧度表示的数字的正切值。
tanh tanh(col1) 返回弧度数的双曲正切值。

字符串函数

Function Example Description
concat concat(col1...) 连接数组或字符串。 此函数接受任意数量的参数并返回String或Array
endswith endswith(col1, col2) 返回一个布尔值,该布尔值指示第一个String参数是否以第二个String参数结尾。
format_time parse_time(col1, format) 将日期时间格式化为字符串。
indexof indexof(col1, col2) 返回第二个参数的第一个索引(从0开始),作为第一个参数中的子字符串。
length length(col1) 返回提供的字符串中的字符数。
lower lower(col1) 返回给定String的小写版本。
lpad lpad(col1, 2) 返回String参数,在左侧用第二个参数指定的空格数填充。
ltrim ltrim(col1) 从提供的字符串中删除所有前导空格(制表符和空格)。
numbytes numbytes(col1) 以提供的字符串的UTF-8编码返回字节数。
regexp_matches regexp_matches(col1, regex) 如果字符串(第一个参数)包含正则表达式的匹配项,则返回true。
regexp_replace regexp_matches(col1, regex, str) 将第一个参数中所有出现的第二个参数(正则表达式)替换为第三个参数。
regexp_substr regexp_substr(col1, regex) 在第一个参数中找到第二个参数(regex)的第一个匹配项。
rpad rpad(col1, 2) 返回字符串参数,在右侧填充第二个参数指定的空格数。
rtrim rtrim(col1) 从提供的字符串中删除所有尾随空白(制表符和空格)。
substring substring(col1, start, end) 从提供的Int索引(从0开始,包括0)到字符串的结尾,返回提供的String的子字符串。
startswith startswith(col1, str) 返回布尔值,是否第一个字符串参数是否以第二个字符串参数开头。
trim trim(col1) 从提供的字符串中删除所有前导和尾随空格(制表符和空格)。
upper upper(col1) 返回给定String的大写版本。

转换函数

Function 示例 Description
cast cast(col, "bigint") 将值从一种数据类型转换为另一种数据类型。 支持的类型包括:bigint,float,string,boolean和datetime(现在不支持)。
chr chr(col1) 返回与给定Int参数对应的ASCII字符
encode encode(col1, "base64") 使用encode函数根据编码方案将负载(可能是非JSON数据)编码为其字符串表示形式。目前,只支持“base64”econding类型。
trunc trunc(dec, int) 将第一个参数截断为第二个参数指定的小数位数。 如果第二个参数小于零,则将其设置为零。 如果第二个参数大于34,则将其设置为34。从结果中去除尾随零。

哈希函数

Function Example 说明
md5 md5(col1) 参数的哈希值
sha1 sha1(col1) 参数的哈希值
sha256 sha256(col1) 参数的哈希值
sha384 sha384(col1) 参数的哈希值
sha512 sha512(col1) 参数的哈希值

其它函数

函数 示例 Description
isNull isNull(col1) 如果参数为空值,则返回true。
newuuid newuuid() 返回一个随机的16字节UUID。
timestamp timestamp() 返回当前时间戳,以1970年1月1日星期四00:00:00协调世界时(UTC)为单位。