函数概览

本文列举的函数与运算符可以被用在 SLS 的 SQL 或 SPL 两种语言中。

函数与运算符

说明

您可以根据具体使用的功能、语言,在本文中查看具体的函数、运算符用法。下表中,√表示支持,×表示不支持。

  • SQL 是一种广泛使用的查询、分析语言,主要用于结构化良好数据的过滤、转换、统计、聚合等分析场景,可以在 SLS 日志查询、分析功能中使用。

  • SPL 是一种管道式查询、处理语言,主要用于数据的预处理、查询场景,可以在 SLS 的日志查询(Scan)、流式消费等功能中使用。

聚合函数

函数名称

说明

支持SQL

支持SPL

arbitrary函数

返回x中任意一个非空的值。

×

avg函数

计算x中的算术平均值。

×

bitwise_and_agg函数

返回x中所有值按位与运算(AND)的结果。

×

bitwise_or_agg函数

返回x中所有值按位或运算(OR)的结果。

×

bool_and函数

判断是否所有日志都满足条件。如果是,则返回true。

bool_and函数等同于every函数。

×

bool_or函数

判断是否存在日志满足条件。如果存在,则返回true。

×

checksum函数

计算x的校验和。

×

count函数

统计所有的日志条数。

×

统计所有的日志条数,等同于count(*)。

×

统计x中值不为NULL的日志条数。

×

count_if函数

统计满足指定条件的日志条数。

×

every函数

判断是否所有日志都满足条件。如果是,则返回true。

every函数等同于bool_and函数。

×

geometric_mean函数

计算x的几何平均数。

×

kurtosis函数

计算x的峰度。

×

map_union函数

返回一列Map数据的并集。 如果Map中存在相同的键,则返回的键值为其中任意一个键的值。

×

max函数

查询x中的最大值。

×

查询x中最大的n个值。返回结果为数组。

×

max_by函数

查询y为最大值时对应的x值。

×

查询最大的n个y值对应的x值,返回结果为数组。

×

min函数

查询x中最小值。

×

查询x中最小的n个值。返回结果为数组。

×

min_by函数

查询y为最小值时对应的x值。

×

查询最小的n个y值对应的x值。返回结果为数组。

×

skewness函数

计算x的偏度。

×

sum函数

计算x的总值。

×

字符串函数

函数名称

说明

支持SQL

支持SPL

chr函数

将ASCII码转换为字符。

codepoint函数

将字符转换为ASCII码。

concat函数

将多个字符串拼接成一个字符串。

from_utf8函数

将二进制字符串解码为UTF-8编码格式,并使用默认字符U+FFFD替换无效的UTF-8字符。

将二进制字符串解码为UTF-8编码格式,并使用自定义字符串替换无效的UTF-8字符。

length函数

计算字符串的长度。

levenshtein_distance函数

计算x和y之间的最小编辑距离。

×

lower函数

将字符串转换为小写形式。

lpad函数

在字符串的开头填充指定字符,直到指定长度后返回结果字符串。

ltrim函数

删除字符串开头的空格。

normalize函数

使用NFC格式将字符串格式化。

×

position函数

返回目标子串在字符串中的位置。

×

replace函数

将字符串中所匹配的字符替换为其他指定字符。

删除字符串中匹配的字符。

reverse函数

返回反向顺序的字符串。

rpad函数

在字符串的尾部填充指定字符,直到指定长度后返回结果字符串。

rtrim函数

删除字符串中结尾的空格。

split函数

使用指定的分隔符拆分字符串,并返回子串集合。

通过指定的分隔符拆分字符串并使用limit限制字符串拆分的个数,然后返回拆分后的子串集合。

split_part函数

使用指定的分隔符拆分字符串,并返回指定位置的内容。

split_to_map函数

使用指定的第一个分隔符拆分字符串,然后再使用指定的第二个分隔符进行第二次拆分。

strpos函数

返回目标子串在字符串中的位置。与position(sub_string in x)函数等价。

substr函数

返回字符串中指定位置的子串,并指定子串长度。

返回字符串中指定位置的子串。

to_utf8函数

将字符串转换为UTF-8编码格式。

trim函数

删除字符串中开头和结尾的空格。

upper函数

将字符串转化为大写形式。

日期和时间函数

函数名称

说明

支持SQL

支持SPL

current_date函数

返回当前日期。

×

current_time函数

返回当前时间和时区。

×

current_timestamp函数

返回当前日期、时间和时区。

×

current_timezone函数

返回当前时区。

×

date函数

返回日期和时间表达式中的日期部分。

×

date_format函数

将timestamp类型的日期和时间表达式转化为指定格式的日期和时间表达式。

date_parse函数

将日期和时间字符串转换为指定格式的timestamp类型的日期和时间表达式。

from_iso8601_date函数

将ISO8601格式的日期表达式转化为date类型的日期表达式。

×

from_iso8601_timestamp函数

将ISO8601格式的日期和时间表达式转化为timestamp类型的日期和时间表达式。

×

from_unixtime函数

将UNIX时间戳转化为无时区的timestamp类型的日期和时间表达式。

将UNIX时间戳转化为带时区的timestamp类型的日期和时间表达式。

×

将UNIX时间戳转化为带时区的timestamp类型的日期和时间表达式,其中hours和minutes为时区偏移量。

×

localtime函数

返回本地时间。

×

localtimestamp函数

返回本地日期和时间。

×

now函数

返回当前日期和时间。

now函数等同于current_timestamp函数。

×

to_iso8601函数

将date类型或timestamp类型的日期和时间表达式转换为ISO8601格式的日期和时间表达式。

×

to_unixtime函数

将timestamp类型的日期和时间表达式转化成UNIX时间戳。

day函数

提取日期和时间表达式中的天数,按月计算。

day函数等同于day_of_month函数。

×

day_of_month函数

提取日期和时间表达式中的天数,按月计算。

day_of_month函数等同于day函数。

×

day_of_week函数

提取日期和时间表达式中的天数,按周计算。

day_of_week函数等同于dow函数。

day_of_year函数

提取日期和时间表达式中的天数,按年计算。

day_of_year函数等同于doy函数。

dow函数

提取日期和时间表达式中的天数,按周计算。

dow函数等同于day_of_week函数。

doy函数

提取日期和时间表达式中的天数,按年计算。

doy函数等同于day_of_year函数。

extract函数

通过指定的field,提取日期和时间表达式中的日期或时间部分。

×

hour函数

提取日期和时间表达式中的小时数,按24小时制计算。

minute函数

提取日期和时间表达式中的分钟数。

month函数

提取日期和时间表达式中的月份。

quarter函数

计算目标日期所属的季度。

second函数

提取日期和时间表达式中的秒数。

timezone_hour函数

计算时区的小时偏移量。

×

timezone_minute函数

计算时区的分钟偏移量。

×

week函数

计算目标日期是在一年中的第几周。

week函数等同于week_of_year函数。

×

week_of_year函数

计算目标日期是在一年中的第几周。

week_of_year函数等同于week函数。

×

year函数

提取目标日期中的年份。

year_of_week函数

提取目标日期在ISO周日历中的年份。

year_of_week函数等同于yow函数。

yow函数

提取目标日期在ISO周日历中的年份。

yow函数等同于year_of_week函数。

date_trunc函数

根据您指定的时间单位截断日期和时间表达式,并按照毫秒、秒、分钟,小时、日、月或年对齐。

×

date_add函数

在x上加上N个时间单位(unit)。

date_diff函数

返回两个时间表达式之间的时间差值,例如计算x和y之间相差几个时间单位(unit)。

time_series函数

补全您查询时间窗口内缺失的数据。

×

JSON函数

函数名称

说明

支持SQL

支持SPL

json_array_contains函数

判断JSON数组中是否包含某个值。

json_array_get函数

获取JSON数组中某个下标对应的元素。

×

json_array_length函数

计算JSON数组中元素的数量。

json_extract函数

从JSON对象或JSON数组中提取一组JSON值(数组或对象)。

json_extract_scalar函数

从JSON对象或JSON数组中提取一组标量值(字符串、整数或布尔值)。类似于json_extract函数。

json_format函数

把JSON类型转化成字符串类型。

json_parse函数

把字符串类型转化成JSON类型。

json_size函数

计算JSON对象或数组中元素的数量。

正则式函数

函数名称

说明

支持SQL

支持SPL

regexp_extract_all函数

提取目标字符串中符合正则表达式的子串,并返回所有子串的合集。

×

提取目标字符串中符合正则表达式的子串,然后返回与目标捕获组匹配的子串合集。

×

regexp_extract函数

提取并返回目标字符串中符合正则表达式的第一个子串。

提取目标字符串中符合正则表达式的子串,然后返回与目标捕获组匹配的第一个子串。

regexp_like函数

判断目标字符串是否符合正则表达式。

regexp_replace函数

删除目标字符串中符合正则表达式的子串,返回未被删除的子串。

替换目标字符串中符合正则表达式的子串,返回被替换后的字符串。

regexp_split函数

使用正则表达式分割目标字符串,返回被分割后的子串合集。

×

同比与环比函数

函数名称

说明

支持SQL

支持SPL

compare函数

对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。

×

对比当前时间周期内的计算结果与n1、n2、n3秒之前时间周期内的计算结果。

×

ts_compare函数

对比当前时间周期内的计算结果与n秒之前时间周期内的计算结果。

重要

ts_compare函数必须按照时间列进行分组(GROUP BY)。

×

对比当前时间周期内的计算结果与n1、n2、n3秒之前时间周期内的计算结果。

×

数组函数和运算符

函数名称

说明

支持SQL

支持SPL

下标运算符

返回数组中的第x个元素。

×

array_agg函数

以数组形式返回x中的所有值。

×

array_distinct函数

删除数组中重复的元素。

array_except函数

计算两个数组的差集。

array_intersect函数

计算两个数组的交集。

array_join函数

使用指定的连接符将数组中的元素拼接为一个字符串。如果数组中包含null元素,则null元素将被忽略。

使用指定的连接符将数组中的元素拼接为一个字符串。如果数组中包含null元素,则null元素将被替换为null_replacement。

array_max函数

获取数组中的最大值。

array_min函数

获取数组中的最小值。

array_position函数

获取指定元素的下标,下标从1开始。如果指定元素不存在,则返回0。

array_remove函数

删除数组中指定的元素。

array_sort函数

对数组元素进行升序排序。如果有null元素,则null元素排在最后。

array_transpose函数

对矩阵进行转置,即提取二维数组中索引相同的元素组成一个新的二维数组。

×

array_union函数

计算两个数组的并集。

×

cardinality函数

计算数组中元素的个数。

concat函数

将多个数组拼接为一个数组。

×

contains函数

判断数组中是否包含指定元素。如果包含,则返回true。

×

element_at函数

返回数组中的第y个元素。

×

filter函数

结合Lambda表达式,用于过滤数组中的元素。只返回满足Lambda表达式的元素。

flatten函数

把将二维数组转换为一维数组。

×

reduce函数

根据Lambda表达式中的定义,对数组中的各个元素进行相加计算,然后返回计算结果。

reverse函数

对数组中的元素进行反向排列。

sequence函数

通过指定的起始值返回一个数组,其元素为起始值范围内一组连续且递增的值。递增间隔为默认值1。

通过指定的起始值返回一个数组,其元素为起始值范围内一组连续且递增的值。自定义递增间隔。

shuffle函数

对数组元素进行随机排列。

slice函数

获取数组的子集。

transform函数

将Lambda表达式应用到数组的每个元素中。

zip函数

将多个数组合并为一个二维数组,且各个数组中下标相同的元素组成一个新的数组。

zip_with函数

根据Lambda表达式中的定义将两个数组合并为一个数组。

×

Map映射函数和运算符

函数名称

说明

支持SQL

支持SPL

下标运算符

获取Map中目标键的值。

×

cardinality函数

计算Map的大小。

×

element_at函数

获取Map中目标键的值。

histogram函数

对查询和分析结果进行分组,返回结果为JSON格式。

×

histogram_u函数

对查询和分析结果进行分组,返回结果为多行多列格式。

×

map函数

返回一个空Map。

将两个数组映射为一个Map。

map_agg函数

将x和y映射为一个Map。x为Map中的键,y为Map中的键值。当y存在多个值时,随机提取一个值作为键值。

×

map_concat函数

将多个Map合并为一个Map。

map_filter函数

结合Lambda表达式,用于过滤Map中的元素。

map_keys函数

提取Map中所有的键,并以数组形式返回。

map_values函数

提取Map中所有键的值,并以数组形式返回。

multimap_agg函数

将x和y映射为一个Map。x为Map中的键,y为Map中的键值,键值为数组格式。当y存在多个值时,提取所有的值作为键值。

×

数学计算函数

函数名称

说明

支持SQL

支持SPL

abs函数

计算x的绝对值。

acos函数

计算x的反余弦。

asin函数

计算x的反正弦。

atan函数

计算x的反正切。

atan2函数

计算x和y相除的结果的反正切。

cbrt函数

计算x的立方根。

ceil函数

对x进行向上取整数。

ceil函数是ceiling函数的别名。

ceiling函数

对x进行向上取整数。

cos函数

计算x的余弦。

cosh函数

计算x的双曲余弦。

cosine_similarity函数

计算x和y之间的余弦相似度。

×

degrees函数

将弧度转换为度。

e函数

返回自然底数e的值。

exp函数

计算自然底数e的x次幂。

×

floor函数

对x进行向下取整数。

from_base函数

根据BASE编码将x转为y进制的数字。

ln函数

计算x的自然对数。

infinity函数

返回正无穷的数值。

is_nan函数

判断x是否为NaN。

log2函数

计算x以2为底的对数。

log10函数

计算x以10为底的对数。

log函数

计算x以y为底的对数。

×

mod函数

计算x与y相除的余数。

nan函数

返回一个NaN值。

pi函数

返回π值,精确到小数点后15位。

pow函数

计算x的y次幂。

pow函数是power函数的别名。

power函数

计算x的y次幂。

radians函数

将度转换为弧度。

rand函数

返回随机数。

random函数

返回[0,1)之间的随机数。

返回[0,x)之间的随机数。

round函数

对x进行四舍五入取整数。

对x进行四舍五入且保留n位小数。

sign函数

返回x的符号,通过1、0、-1表示。

×

sin函数

计算x的正弦。

sqrt函数

计算x的平方根。

tan函数

计算x的正切。

tanh函数

计算x的双曲正切。

to_base函数

根据BASE编码将x转为y进制的字符串。

×

truncate函数

截断x的小数部分。

width_bucket函数

将一段数值范围划分成大小相同的多个Bucket,然后返回x所属的Bucket。

×

使用数组指定Bucket的范围,然后返回x所属的Bucket。

×

数学统计函数

函数名称

说明

支持SQL

支持SPL

corr函数

计算x和y的相关度。计算结果范围为[0,1]。

×

covar_pop函数

计算x和y的总体协方差。

×

covar_samp函数

计算x和y的样本协方差。

×

stddev函数

计算x的样本标准差。与stddev_samp函数同义。

×

stddev_samp函数

计算x的样本标准差。

×

stddev_pop函数

计算x的总体标准差。

×

variance函数

计算x的样本方差。与var_samp函数同义。

×

var_samp函数

计算x的样本方差。

×

var_pop函数

计算x的总体方差。

×

regr_intercept函数

根据输入点(x,y)拟合成一个线性方程,然后计算该直线的Y轴截距。

×

regr_slope函数

根据输入点(x,y)拟合成一个线性方程,然后计算该直线的斜率。

×

beta_cdf函数

用于计算贝塔分布的累积分布函数。P(N <= v; α, β),其中α和β是贝塔分布的参数。

×

binomial_cdf函数

用于计算二项分布的累积分布函数。P(N <= v),其中x表示实验的次数,y表示单次实验成功的概率。

×

cauchy_cdf函数

用于计算柯西分布的累积分布函数。P(N <= v; x, y),其中x表示分布峰值位置的位置参数,y是尺度参数。

×

chi_squared_cdf函数

用于计算卡方分布的累积分布函数。P(N <= v; k),其中k是卡方分布服从的自由度。

×

inverse_beta_cdf函数

计算贝塔分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; α, β)的结果为p。

×

inverse_binomial_cdf函数

计算二项分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v)的结果为p。

×

inverse_cauchy_cdf函数

计算柯西分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; x, y)的结果为p。

×

inverse_chi_squared_cdf函数

计算卡方分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; k)的结果为p。

×

inverse_laplace_cdf函数

计算拉普拉斯分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; μ, b)的结果为p。

×

inverse_normal_cdf函数

计算正态分布的逆累积分布函数。即求v的值,使得累积分布函数P(N < v; x, y)的结果为p。

×

inverse_poisson_cdf函数

计算泊松分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; λ)的结果为p。

×

inverse_weibull_cdf函数

计算韦布分布的逆累积分布函数。即求v的值,使得累积分布函数P(N <= v; x, y)的结果为p。

×

laplace_cdf函数

计算拉普拉斯分布的累积分布函数。P(N <= v; μ, b),其中μ 是位置参数,b 是尺度参数。

×

normal_cdf函数

计算正态分布的累积分布函数。P(N < v; x, y),其中x和y分别表示正态分布的均值和标准差。

×

poisson_cdf函数

计算泊松分布的累积分布函数。P(N <= v; λ),其中λ表示随机事件发生的平均概率。

×

weibull_cdf函数

计算韦布分布的累积分布函数。P(N <= v; x, y),其中x表示比例参数,y是形状参数。

×

类型转换函数

函数名称

说明

支持SQL

支持SPL

cast函数

转换x的数据类型。

使用cast函数转换数据类型时,如果某个值转换失败,将终止整个查询与分析操作。

try_cast函数

转换x的数据类型。

使用try_cast函数转换数据类型时,如果某个值转换失败,该值返回NULL,并跳过该值继续处理。

说明

日志中可能有脏数据,建议使用try_cast函数,避免因脏数据造成整个查询与分析操作失败。

×

typeof函数

返回x的数据类型。

×

窗口函数

函数名称

说明

支持SQL

支持SPL

聚合函数

所有聚合函数都支持在窗口函数中使用。聚合函数列表请参见聚合函数

×

cume_dist函数

统计窗口分区内各个值的累计分布。即计算窗口分区内值小于等于当前值的行数占窗口内总行数的比例。返回值范围为(0,1]。

×

dense_rank函数

窗口分区内值的排名。相同值拥有相同的排名,排名是连续的,例如有两个相同值的排名为1,则下一个值的排名为2。

×

ntile函数

将窗口分区内数据按照顺序分成n组。

×

percent_rank函数

计算窗口分区内各行的百分比排名。

×

rank函数

窗口分区内值的排名。相同值拥有相同的排名,排名不是连续的,例如有两个相同值的排名为1,则下一个值的排名为3。

×

row_number函数

窗口分区内值的排名。每个值拥有唯一的序号,从1开始。三个相同值的排名为1、2、3。

×

first_value函数

返回各个窗口分区内第一行的值。

×

last_value函数

返回各个窗口分区内最后一行的值。

×

lag函数

返回窗口分区内位于当前行上方第offset行的值。如果不存在该行,则返回default_value。

×

lead函数

返回窗口分区内位于当前行下方第offset行的值。如果不存在该行,则返回default_value。

×

nth_value函数

返回窗口分区中第offset行的值。

×

IP函数

函数名称

说明

支持SQL

支持SPL

ip_to_city函数

分析目标IP地址所属城市。

返回结果为城市的中文名称。

×

分析目标IP地址所属城市。

返回结果为城市的行政区划代码。

×

ip_to_city_geo函数

分析目标IP地址所属城市的经纬度。此函数返回的是城市经纬度,每个城市只有一个经纬度。

×

ip_to_country函数

分析目标IP地址所属国家或地区。

返回结果为国家或地区的中文名称。

×

分析目标IP地址所属国家或地区。

返回结果为国家或地区的代码。

×

ip_to_country_code函数

分析目标IP地址所属国家或地区。

返回结果为国家或地区的代码。

×

ip_to_domain函数

判断目标IP地址是内网地址还是外网地址。

×

ip_to_geo函数

分析目标IP地址所在位置的经纬度。

×

ip_to_provider函数

分析目标IP地址所对应的网络运营商。

×

ip_to_province函数

分析目标IP地址所属省份

返回结果为省份的中文名称。

×

分析目标IP地址所属省份

返回结果为省份的行政区划代码。

×

ip_prefix函数

获取目标IP地址的前缀。

×

is_prefix_subnet_of函数

判断目标网段是否为某网段的子网。

×

is_subnet_of函数

判断目标IP地址是否在某网段内。

×

ip_subnet_max函数

获取IP网段中的最大IP地址。

×

ip_subnet_min函数

获取IP网段中的最小IP地址。

×

ip_subnet_range函数

获取IP网段范围。

×

ipv6_to_city函数

分析目标IPv6地址所属城市的名称。

×

ipv6_to_city_code函数

分析目标IPv6地址所属城市的行政区划代码。

×

ipv6_to_city_geo函数

分析目标IPv6地址所属城市的经纬度。

×

ipv6_to_country函数

分析目标IPv6地址所属国家或地区。

×

ipv6_to_country_code函数

分析目标IPv6地址所属国家或地区的代码。

×

ipv6_to_domain函数

判断目标IPv6地址是内网地址还是外网地址。

×

ipv6_to_provider函数

分析目标IPv6地址所对应的网络运营商。

×

ipv6_to_province函数

分析目标IPv6地址所属省份。

×

ipv6_to_province_code函数

分析目标IPv6地址所属省份的行政区划代码。

×

URL函数

函数名称

说明

支持SQL

支持SPL

url_encode函数

对URL进行编码。

url_decode函数

对URL进行解码。

url_extract_fragment函数

从URL中提取Fragment信息。

url_extract_host函数

从URL中提取Host信息。

url_extract_parameter函数

从URL的查询部分中提取指定参数的值。

url_extract_path函数

从URL中提取访问路径信息。

url_extract_port函数

从URL中提取端口信息。

url_extract_protocol函数

从URL中提取协议信息。

url_extract_query函数

从URL中提取查询部分的信息。

估算函数

函数名称

说明

支持SQL

支持SPL

approx_distinct函数

估算x中不重复值的个数,默认存在2.3%的标准误差。

×

估算xx中不重复值的个数,支持自定义标准误差。

×

approx_percentile函数

对x进行正序排列,返回大约处于percentage位置的x。

×

对x进行正序排列,返回大约处于percentage01、percentage02位置的x。

×

对x和权重的乘积进行正序排列,返回大约处于percentage位置的x。

×

对x和权重的乘积进行正序排列,返回大约处于percentage01、percentage02位置的x。

×

对x和权重的乘积进行正序排列,返回大约处于percentage位置的x。支持设置返回结果的准确度。

×

numeric_histogram函数

按照bucket数量(直方图列数),统计x的近似直方图,返回结果为JSON类型。

×

按照bucket数量(直方图列数),统计x的近似直方图,返回结果为JSON类型。支持对x设置权重。

×

numeric_histogram_u函数

按照bucket数量(直方图列数),统计x的近似直方图,返回结果为多行多列格式。

×

二进制函数

函数名称

说明

支持SQL

支持SPL

from_base64函数

将BASE64编码的字符串解码为二进制类型的数据。

from_base64url函数

使用URL安全字符将BASE64编码的字符串解码为二进制类型的数据。

×

from_big_endian_64函数

将大端模式的二进制类型的数据转化成数字。

×

from_hex函数

将十六进制类型的数据转化成二进制类型的数据。

length函数

计算二进制类型的数据的长度。

×

md5函数

对二进制类型的数据进行MD5编码。

to_base64函数

对二进制类型的数据进行BASE64编码。

to_base64url函数

使用URL安全字符将二进制类型的数据进行BASE64编码。

×

to_hex函数

将二进制类型的数据转化成十六进制类型的数据。

to_big_endian_64函数

将数字转化为大端模式的二进制类型的数据。

×

sha1函数

对二进制类型的数据进行SHA1加密。

sha256函数

对二进制类型的数据进行SHA256加密。

sha512函数

对二进制类型的数据进行SHA512加密。

xxhash64函数

对二进制类型的数据进行xxHash64加密。

位运算函数

函数名称

说明

支持SQL

支持SPL

bit_count函数

统计x中1的个数。

bitwise_and函数

以二进制形式对x和y进行与运算。

bitwise_not函数

以二进制形式对x的所有位进行取反运算。

bitwise_or函数

以二进制形式对x和y进行或运算。

bitwise_xor函数

以二进制形式对x和y进行异或运算。

空间几何函数

函数名称

说明

支持SQL

支持SPL

ST_AsText函数

将一个空间几何体转变为WKT格式的文本。

×

ST_Boundary函数

返回空间几何体的边界。

×

ST_Buffer函数

返回距离指定空间几何体一定距离的空间几何体。

×

ST_Difference函数

返回两个空间几何体不同点的集合。

×

ST_Envelope函数

返回空间几何体的最小边界框。

×

ST_ExteriorRing函数

返回空间几何体的外环(线段形式)。

×

ST_Intersection函数

返回两个空间几何体的交集点。

×

ST_SymDifference函数

返回两个空间几何体的不同点,然后组成一个新的空间几何体。

×

ST_Contains函数

判断第一个空间几何体是否包含第二个空间几何体(边界可存在交集)。如果包含,则返回true。

×

ST_Crosses函数

判断两个空间几何体是否存在相同的内部点。如果存在,则返回true。

×

ST_Disjoint函数

判断两个空间几何体是否没有任何交集。 如果没有,则返回true。

×

ST_Equals函数

判断两个空间几何体是否完全相同。如果是,则返回true。

×

ST_Intersects函数

判断两个空间几何体的平面投影是否存在共同点。如果是,则返回true。

×

ST_Overlaps函数

判断两个空间几何体的维度是否相同。如果两个空间几何体的维度相同且不是包含关系,则返回true。

×

ST_Relate函数

判断两个空间几何体是否相关。如果是,则返回true。

×

ST_Touches函数

判断两个空间几何体是否只有边界存在关联,没有共同的内部点。如果是,则返回true。

×

ST_Within函数

判断第一个空间几何体是否完全在第二个空间几何体内部(边界无交集)。如果是,则返回true。

×

ST_Area函数

使用欧几里得测量法计算空间几何体在二维平面上的投影面积。

×

ST_Centroid函数

返回空间几何实体的中心点。

×

ST_CoordDim函数

返回空间几何体的坐标维度。

×

ST_Dimension函数

返回空间几何实体的固有维度,必须小于或等于坐标维度。

×

ST_Distance函数

计算两个空间几何体之间的最小距离。

×

ST_EndPoint函数

返回线段中的最后一个点。

×

ST_IsClosed函数

判断输入的空间几何体是否封闭。如果是,则返回true。

×

ST_IsEmpty函数

判断输入的空间几何体是否为空。如果是,则返回true。

×

ST_IsRing函数

判断输入的空间几何体是否为闭合的简单线段(环)。如果是,则返回true。

×

ST_Length函数

使用欧几里得测量法计算线段的二维投影长度。如果存在多条线段,则返回所有线段的长度之和。

×

ST_NumPoints函数

返回空间几何体中点的个数。

×

ST_NumInteriorRing函数

计算空间几何体中内部环的数量。

×

ST_StartPoint函数

返回线段中的第一个点。

×

ST_X函数

返回输入点的X轴坐标。

×

ST_XMax函数

返回空间几何体的第一个最大的X轴坐标。

×

ST_XMin函数

返回空间几何体的第一个最小的X轴坐标。

×

ST_Y函数

返回输入点的Y轴坐标。

×

ST_YMax函数

返回空间几何体的第一个最大的Y轴坐标。

×

ST_YMin函数

返回几何体的第一个最小的Y轴坐标。

×

bing_tile函数

通过X坐标、Y坐标和缩放级别构造一个Bing图块。

×

通过四叉树键构造一个Bing图块。

×

bing_tile_at函数

通过经纬度和缩放级别构造一个Bing图块。

×

bing_tile_coordinates函数

返回目标Bing图块对应的X坐标和Y坐标。

×

bing_tile_polygon函数

返回目标Bing图块的多边形格式。

×

bing_tile_quadkey函数

返回目标Bing图块的四叉树键。

×

bing_tile_zoom_level函数

返回目标Bing图块的缩放级别。

×

地理函数

函数名称

说明

支持SQL

支持SPL

geohash函数

对纬度和经度进行geohash编码。

×

颜色函数

函数名称

说明

支持SQL

支持SPL

bar函数

通过width指定整条ANSI条形图的宽度,其中该ANSI条形图的起始颜色为红色(low_color),结束颜色为绿色(high_color)。然后通过x截取其中一段ANSI条形图并返回。

×

通过width指定整条ANSI条形图的宽度,其中该ANSI条形图的起始颜色和结束颜色为自定义颜色。然后通过x截取其中一段ANSI条形图并返回。

×

color函数

将颜色字符串转换为color类型。

×

通过判断x在low和high之间的占比指定low_color和high_color的份量,然后返回处于low_color和high_color之间的一个颜色。

×

通过y指定low_color和high_color的份量,然后返回处于low_color和high_color之间的一个颜色。

×

render函数

通过颜色渲染返回结果。布尔表达式为真时,返回绿色勾;否则返回红色叉。

×

通过自定义的颜色渲染返回结果。

×

rgb函数

通过RGB值返回一个颜色值。

×

HyperLogLog函数

函数名称

说明

支持SQL

支持SPL

approx_set函数

估算x中不重复值的个数,最大标准误差默认为0.01625。

×

cardinality函数

将HyperLogLog类型的内容转换为bigint类型。

×

empty_approx_set函数

返回一个HyperLogLog类型的空值。最大标准误差默认为0.01625。

×

merge函数

聚合计算所有的HyperLogLog值。

×

电话号码函数

函数名称

说明

mobile_carrier函数

分析电话号码所属运营商。

mobile_city函数

分析电话号码所属城市。

mobile_province函数

分析电话号码所属省份。

比较运算符

运算符

说明

支持SQL

支持SPL

基础运算符

比较x和y的大小关系。如果逻辑成立,则返回true。

ALL运算符

x满足所有条件时,返回true。

×

ANY运算符

x满足任意一个条件时,返回true。

×

BETWEEN运算符

x处在y和z之间时,返回true。

DISTINCT运算符

(x IS DISTINCT FROM y)x不等于y时,返回true。

×

(x IS NOT DISTINCT FROM y)x等于y时,返回true。

×

LIKE运算符

匹配字符串中指定的字符模式。字符串区分大小写。

SOME运算符

x满足任意一个条件时,返回true。

×

GREATEST运算符

查询x、y中的最大值。

×

LEAST运算符

查询x、y中的最小值。

×

NULL运算符

(x IS NULL)x为null时,返回true。

×

(x IS NOT NULL)x不为null时,返回true。

×

逻辑运算符

运算符

说明

支持SQL

支持SPL

AND运算符

x和y的值都为true时,返回结果为true。

OR运算符

x和y中任意一个的值为true时,返回结果为true。

NOT运算符

x的值为false时,返回结果为true。

单位换算函数

函数名称

说明

支持SQL

支持SPL

convert_data_size函数

对数据量单位进行换算,系统自动判断最优的换算单位,返回使用最优单位表示的数据量。返回类型为string。例如将1024 KB换算为1 MB,1024 MB换算为1 GB。

×

对数据量单位进行换算,返回使用指定单位表示的数据量。返回类型为string。

×

format_data_size函数

对Byte单位进行换算,返回使用指定单位表示的数据量。返回类型为string。

×

parse_data_size函数

对数据量单位进行换算,返回以Byte为单位的数据量。返回类型为decimal。

×

to_data_size_B函数

对数据量单位进行换算,返回以Byte为单位的数据量。返回类型为double。

×

to_data_size_KB函数

对数据量单位进行换算,返回以KB为单位的数据量。返回类型为double。

×

to_data_size_MB函数

对数据量单位进行换算,返回以MB为单位的数据量。返回类型为double。

×

to_data_size_GB函数

对数据量单位进行换算,返回以GB为单位的数据量。返回类型为double。

×

to_data_size_TB函数

对数据量单位进行换算,返回以TB为单位的数据量。返回类型为double。

×

to_data_size_PB函数

对数据量单位进行换算,返回以PB为单位的数据量。返回类型为double。

×

format_duration函数

对以秒为单位的时间间隔进行格式化,转换为可读的字符串类型。

×

parse_duration函数

对时间间隔进行格式化,转换为0 00:00:00.000格式。

×

to_days函数

对时间间隔单位进行换算,转换为以天为单位的时间间隔。

×

to_hours函数

对时间间隔单位进行换算,转换为以小时为单位的时间间隔。

×

to_microseconds函数

对时间间隔单位进行换算,转换为以微秒为单位的时间间隔。

×

to_milliseconds函数

对时间间隔单位进行换算,转换为以毫秒为单位的时间间隔。

×

to_minutes函数

对时间间隔单位进行换算,转换为以分钟为单位的时间间隔。

×

to_most_succinct_time_unit函数

对时间间隔单位进行换算,系统自动判断最优的换算单位,返回使用最优单位表示的时间间隔。

×

to_nanoseconds函数

对时间间隔单位进行换算,转换为以纳秒为单位的时间间隔。

×

to_seconds函数

对时间间隔单位进行换算,转换为以秒为单位的时间间隔。

×

窗口漏斗函数

函数名称

说明

支持SQL

支持SPL

window_funnel函数

在滑动的时间窗口中搜索事件链并计算事件链中发生的最大连续的事件数。

×

Lambda表达式

日志服务支持您在SQL分析语句和SPL语句中定义Lambda表达式,并将该表达式传递给指定函数,丰富函数的表达。更多信息,请参见Lambda表达式

条件表达式

表达式

说明

支持SQL

支持SPL

CASE WHEN表达式

通过条件判断,对数据进行归类。

IF表达式

通过条件判断,对数据进行归类。

COALESCE表达式

返回多个表达式中第一个非NULL的值。

NULLIF表达式

比较两个表达式的值是否相等。如果相等,则返回null,否则返回第一个表达式的值。

×

TRY表达式

捕获异常信息,使得系统继续执行查询和分析操作。

向量计算函数

表达式

说明

支持SQL

支持SPL

余弦相似度函数

余弦相似度的取值范围是[-1, 1]:

  • 当余弦相似度为1时,表示两个向量方向完全相同。

  • 当余弦相似度为-1时,表示两个向量方向完全相反。

  • 当余弦相似度为0时,表示两个向量在几何上是正交的,即它们是垂直的。

×

内积(点积)函数

计算两个向量的内积。

×

欧氏距离函数

计算两个向量的欧式距离。

×

向量范数(长度)函数

计算一个向量的范数。范数相当于向量的长度。

×

向量元素和函数

计算一个向量的所有元素之和。

×

向量元素均值函数

计算一个向量的平均值。

×

向量元素方差函数

计算一个向量的方差。方差代表向量元素偏离均值的平均波动幅度的平方和,描述了该向量中元素分布的离散程度。

×

向量元素标准差函数

计算一个向量的标准差,标准差是方差的正平方根。方差描述了数据点围绕均值的波动大小。方差越大,表示数据点越分散;方差越小,表示数据点越集中。

×

向量加法函数

计算两个向量相加的结果。

结合向量加减法和向量缩放,可以做任意线性变换。

×

向量减法函数

计算两个向量相减的结果。

结合向量的加减法和向量的缩放,可以做任意线性变换。

×

向量缩放函数

结合向量的加减法和向量的缩放,可以做任何的线性变换。

×