函数列表
ResourceQL支持以下函数:
函数 |
功能描述 |
---|---|
abs(x) |
返回x的绝对值。 |
ceil/ceiling(x) |
把小数x向上取整。 |
floor(x) |
把小数x向下取整。 |
pow/power(x, p) → double |
计算x^p。 |
round(x) |
把小数x四舍五入取整。 |
round(x, d) |
把小数x四舍五入保留d位小数。 |
sign(x) |
返回x的符号,正数是1负数是-1。 |
函数 |
功能描述 |
---|---|
concat(str1, str2, ..., strn) → string |
合并字符串。 |
chr(n) → string |
把数字n转化成对应的unicode字符。 |
codepoint(str) → int |
把unicode字符转化成数字。 |
length(str) → int |
返回字符串的长度。 |
lower/upper(str) → string |
把字符串变换成全小写/大写。 |
replace(str, sub) → string |
把字符串str里所有sub子串都删除。 |
replace(str, sub, replace) → string |
把字符串str里所有sub子串都替换成replace。 |
reverse(str) → string |
把字符串str翻转。 |
split(str, delimiter) → array |
把字符串str按照delimiter切割成数组。 |
strpos(str, sub) → int |
返回str里第一次出现sub的下标。下标从1开始,不存在返回0。 |
strpos(str, sub, n) -> int |
返回str里第n次出现sub的下标。下标从1开始,不存在返回0。 |
strrpos(str, sub) → int |
返回str里倒数第一次出现sub的下标。下标从1开始,不存在返回0。 |
strrpos(str, sub, n) -> int |
返回str里倒数第n次出现sub的下标。下标从1开始,不存在返回0 。 |
substr(str, start) → string |
返回str里从start开始的子串。 |
substr(str, start, length) → string |
返回str里从start开始,长度为length的子串。 |
trim/lstrim/rstrim(str) |
把str里开头和结尾/开头/结尾的空白字符删掉。 |
函数 |
功能描述 |
---|---|
all_match(array(T), function(T, boolean)) → boolean |
询问每个函数是否都满足给定函数。 |
any_match(array(T), function(T, boolean)) → boolean |
询问是否存在元素满足给定函数。 |
array_average(a) → double |
返回数组a的平均值。 |
array_distinct(a) → array |
返回数组a去重后的新数组。 |
array_frequency(a) → map |
统计数组中每个元素出现的次数并返回对应的map。 |
array_has_duplicates(a) → boolean |
查询数组中是否有重复元素。 |
array_intersect(a, b) → array |
对数组a和b的元素求个交集。 |
array_join(x, delimiter) → string |
把数组元素连接成字符串,中间用delimiter来分隔。 |
array_join(x, delimiter[, null_replacement]) → string |
把数组元素连接成字符串,中间用delimiter来分隔,null元素用null_replacement填充。 |
array_max/array_min(a) |
返回数组a的最大值/最小值。 |
array_position(a, element) → int |
查询element在数组a中的位置。如果不存在返回0。 |
array_position(a, element, instance) → int |
查询element在数组a中的位置。如果不存在返回0。如果'instance>0',返回第'instance' 出现的位置;如果'instance < 0',返回倒数'instance'位置。 |
array_remove(a, element) → array |
把数组a中等于element的元素都删除。 |
array_sort(a) → array |
返回数组a排序后的新数组。 |
array_sort(array(T), function(<T, T>, int)) → array |
返回数组a排序后的新数组。需要提供一个二元比较函数,(-1,0,1) 分别表示小于等于和大于。 |
array_sum(a) |
返回数组a的元素和。 |
array_union(a, b) → array |
返回a和b的并集的数组。 |
array_except(x, y) → array |
返回x中但不在y中的元素数组。 |
cardinality(a) → int |
返回数组a的大小。 |
concat(a1, a2, ...) → array |
合并数组,等价于'||'运算符。 |
contains(a, element) → boolean |
判断element是否出现在数组a中。 |
element_at(a, index) |
返回数组a中的第index个元素。如果'index < 0'将从后往前找。 |
filter(array(T), function(T, boolean)) → array(T) |
筛选满足条件的元素组成新数组。 |
none_match(array(T), function(T, boolean)) → boolean |
询问是否所有元素都不满足给定函数。 |
reverse(a) → array |
把数组a前后取反。 |
sequence(start, stop, step) |
和python的range效果类似。 |
shuffle(a) → array |
把数组a的元素打乱。 |
slice(a, start, length) → array |
截取数组a从start开始长度为length的子串。 |
transform(array(T), function(T, S)) → array(S) |
把原数组变换成另一个数组。 |
函数 |
功能描述 |
---|---|
arbitrary(x) |
返回任意一个非NULL的元素(如果存在的话)。 |
array_agg(x) → array |
把元素合并成一个数组返回。 |
avg(x)→ double |
返回算术平均数。 |
bool_and/bool_or(x) → boolean |
对每个元素执行布尔AND/OR。 |
coalesce(value1, value2, ...) |
返回第一个非NULL的元素。会被短路。 |
count(*)/count(x) → int |
计数。 |
greatest(value1, value2, ..., valueN) |
返回给定同类型权值里最大的权值。 |
histogram(x) → map |
返回一个map,统计了x里每个不同的权值以及他们对应的个数。 |
least(value1, value2, ..., valueN) |
返回给定同类型权值里最小的权值。 |
max/min(x, n=1) |
返回元素里的最大/小值,第n大/小值。 |
max_by/min_by(x, y, n=1) |
根据元素y的最大/小值或第n大/小值,返回对应的元素x。 |
geometric_mean(x) → double |
返回几何平均数。 |
set_agg(x) → array |
把元素去重后合并成一个数组返回。 |
set_union(x) → array |
把每个读入的数组的元素求并,返回并集的数组。 |
sum(x) |
返回和。 |
multimap_agg(key, value) |
返回从输入键/值对创建的多重映射。 |
map_agg(key, value) |
返回从输入键/值对创建的映射。 |
函数 |
功能描述 |
---|---|
now() → date |
获取当前时间。 |
date_diff(unit, timestamp1, timestamp2) → int |
返回timestamp2-timestamp1在unit下的时间间隔,unit的可选值:millisecond、second、minute、hour、day、week、month、quarter、year。 |
date_parse(string, format) → timestamp |
通过指定格式format,将字符串转为时间格式。 |