You need to enable JavaScript to run this app.
导航
函数概览
最近更新时间:2024.09.29 14:09:12首次发布时间:2024.01.22 17:18:37

本文档罗列了日志服务所支持的 SQL 函数。

聚合函数

函数名称
函数语法
说明

ARBITRARY 函数

ARBITRARY(KEY)

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

AVG 函数

AVG(KEY)

计算一组值的算数平均值。

BITWISE_AND_AGG 函数

BITWISE_AND_AGG(KEY)

计算一组值中所有值按位与运算(AND)的结果。

BITWISE_OR_AGG 函数

BITWISE_OR_AGG(KEY)

计算一组值中所有值按位或运算(OR)的结果。

BOOL_ADD 函数

BOOL_ADD(boolean_expression)

判断是否所有值都满足指定的布尔表达式。

BOOL_OR 函数

BOOL_OR(boolean_expression)

判断是否存在值满足指定的布尔表达式。

CHECKSUM 函数

CHECKSUM(KEY)

计算一组值的校验和。

COUNT 函数

COUNT(*)

计算一组值的总数量。

COUNT(1)

计算一组值的数量,等同于 COUNT(*)。

COUNT(KEY)

计算一组值中不为 NULL 的值的数量。

COUNT_IF 函数

COUNT_IF (Boolean Expression)

计算一组值中满足指定条件的值的数量。

EVERY 函数

EVERY(boolean_expression)

判断是否所有值都满足指定的布尔表达式。

GEOMETRIC_MEAN 函数

GEOMETRIC_MEAN(KEY)

计算一组值的几何平均数。

KURTOSIS 函数

KURTOSIS(KEY)

计算一组值的峰值。

MAP_UNION 函数

MAP_UNION(KEY)

合并多组 Map 数据。如果多组 Map 中存在重复的键,只返回该键的任意一个值。

MAX 函数

MAX(KEY)

查询一组值中的最大值。

MIN 函数

MIN(KEY)

查询一组值中的最小值。

SUM 函数

SUM(KEY)

计算一组值的总和。

日期和时间函数

函数名称

函数语法

说明

CURRENT_DATE 函数

CURRENT_DATE

查询当前日期。

CURRENT_TIME 函数

CURRENT_TIME

查询当前时间和时区。

CURRENT_TIMESTAMP 函数

CURRENT_TIMESTAMP

查询当前日期、时间和时区。

CURRENT_TIMEZONE 函数

CURRENT_TIMEZONE()

查询当前时区。

DATE 函数

DATE(KEY)

提取日期和时间中的日期部分。

DATE_FORMAT 函数

DATE_FORMAT(KEY, format)

将 Timestamp 类型的日期或时间转化为其他指定格式。

DATE_PARSE 函数

DATE_PARSE(KEY, format)

将日期和时间字符串转换为其他指定格式。

FROM_ISO8601_DATE 函数

FROM_ISO8601_DATE(KEY)

将 ISO8601 格式的日期转化为 Date 类型的日期。

FROM_ISO8601_TIMESTAMP 函数

FROM_ISO8601_TIMESTAMP(KEY)

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

FROM_UNIXTIME 函数

FROM_UNIXTIME(KEY)

将 UNIX 时间戳转化为无时区的 Timestamp 类型的日期和时间。

FROM_UNIXTIME(KEY, time zone)

将 UNIX 时间戳转化为带时区的 Timestamp 类型的日期和时间。

FROM_UNIXTIME(KEY, hours, minutes)

将 UNIX 时间戳转化为带时区的 Timestamp 类型的日期和时间,且支持设置时区偏移量。

LOCALTIME 函数

LOCALTIME

查询当前的本地时间。

LOCALTIMESTAMP 函数

LOCALTIMESTAMP

查询当前的本地日期和时间。

NOW 函数

NOW()

查询当前日期和时间。
NOW 函数等同于 CURRENT_TIMESTAMP 函数。

TO_ISO8601 函数

TO_ISO8601(KEY)

将 Date 类型或 Timestamp 类型的日期和时间转换为 ISO8601 格式的日期和时间。

TO_UNIXTIME 函数

TO_UNIXTIME(KEY)

将 Timestamp 类型的日期和时间转化成 UNIX 时间戳。

DAY 函数

DAY(KEY)

提取日期和时间中的天数,以月为周期。
DAY 函数等同于 DAY_OF_MONTH 函数。

DAY_OF_MONTH 函数

DAY_OF_MONTH(KEY)

提取日期和时间中的天数,以月为周期。
DAY_OF_MONTH 函数等同于 DAY 函数。

DAY_OF_WEEK 函数

DAY_OF_WEEK(KEY)

提取日期和时间中的天数,以星期为周期。
DAY_OF_WEEK 函数等同于 DOW 函数。

DAY_OF_YEAR 函数

DAY_OF_YEAR(KEY)

提取日期和时间中的天数,以年为周期。
DAY_OF_YEAR 函数等同于 DOY 函数。

DOW 函数

DOW(KEY)

提取日期和时间中的天数,以星期为周期。
DOW 函数等同于 DAY_OF_WEEK 函数。

DOY 函数

DOY(KEY)

提取日期和时间中的天数,以年为周期。
DOY 函数等同于 DAY_OF_YEAR 函数。

EXTRACT 函数

EXTRACT(field from KEY)

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

HOUR 函数

HOUR(KEY)

提取日期和时间中的小时数, 24 小时制。

MINUTE 函数

MINUTE(KEY)

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

MONTH 函数

MONTH(KEY)

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

QUARTER 函数

QUARTER(KEY)

返回日期所在季度。

SECOND 函数

SECOND(KEY)

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

TIMEZONE_HOUR 函数

TIMEZONE_HOUR(KEY)

计算时区的小时偏移量。

TIMEZONE_MINUTE 函数

TIMEZONE_MINUTE(KEY)

计算时区的分钟偏移量。

WEEK 函数

WEEK(KEY)

计算目标日期是在一年中的第几周。
WEEK 函数等同于 WEEK_OF_YEAR 函数。

WEEK_OF_YEAR 函数

WEEK_OF_YEAR(KEY)

计算目标日期是在一年中的第几周。
WEEK_OF_YEAR 函数等同于 WEEK 函数。

YEAR 函数

YEAR(KEY)

提取日期和时间中的年份。

YEAR_OF_WEEK 函数

YEAR_OF_WEEK(KEY)

提取目标日期在 ISO 周日历中的年份。
YEAR_OF_WEEK 函数等同于 YOW 函数。

YOW 函数

YOW(KEY)

提取目标日期在 ISO 周日历中的年份。
YOW 函数等同于 YEAR_OF_WEEK 函数。

DATE_ADD 函数

DATE_ADD(unit, N, KEY)

在日期和时间中增加或减去指定的时间间隔。

DATE_DIFF 函数

DATE_DIFF(unit, KEY1, KEY2)

计算两个日期或时间点之间的差值。

DATE_TRUNC 函数

DATE_TRUNC(unit, KEY)

根据您指定的时间单位截断日期或时间,并按照毫秒、秒、分钟、小时、日、月或年对齐。支持解析的 UNIX 时间戳为秒级或毫秒级。

DATE_TRUNC_SEC 函数

DATE_TRUNC_SEC(unit, KEY)

根据您指定的时间单位截断日期或时间,并按照毫秒、秒、分钟、小时、日、月或年对齐。支持解析的 UNIX 时间戳为秒级。

TIME_SERIES 函数

TIME_SERIES(KEY, window_time, format, padding_data)

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

字符串函数

函数名称

函数语法

说明

CHR 函数

CHR(KEY)

将 ASCII 码转换为 ASCII 码的显示字符。

CODEPOINT 函数

CODEPOINT (KEY)

将 ASCII 码的显示字符转换为 ASCII 码。

CONCAT 函数

CONCAT(KEY1, KEY2...)

拼接多个字符串为一个字符串。

FROM_UTF8 函数

FROM_UTF8(KEY)

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

FROM_UTF8(KEY, replace_string)

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

LENGTH 函数

LENGTH(KEY)

计算字符串的长度。

LEVENSHTEIN_DISTANCE 函数

LEVENSHTEIN_DISTANCE(KEY1, KEY2)

计算两个字符串的最小编辑距离。

LOWER 函数

LOWER(KEY)

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

LPAD 函数

LPAD(KEY, length, lpad_string)

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

LTRIM 函数

LTRIM(KEY)

删除字符串开头的空格。

NORMALIZE 函数

NORMALIZE(KEY)

将字符串格式化为 NFC 格式。

POSITION 函数

POSITION(sub_string in KEY)

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

REPLACE 函数

REPLACE(KEY, sub_string)

删除指定的子字符串。

REPLACE (KEY, sub_string, replace_string)

将指定的子字符串替换为其他字符串。

REVERSE 函数

REVERSE(KEY)

按照反向顺序返回字符串。

RPAD 函数

RPAD(KEY, length, lpad_string)

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

RTRIM 函数

RTRIM(KEY)

删除字符串结尾的空格。

SPLIT 函数

SPLIT(KEY, delimeter)

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

SPLIT(KEY, delimeter, limit)

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

SPLIT_PART 函数

SPLIT_PART(KEY,delimeter,index)

使用指定的分隔符对字符串进行拆分,并返回 index 位置的子字符串。

SPLIT_TO_MAP 函数

SPLIT_TO_MAP(KEY, delimiter01, delimiter02)

使用指定的第一个分隔符拆分字符串,再使用指定的第二个分隔符将第一次拆分结果中的字符串拆分为键值对模式。

STRPOS 函数

STRPOS(KEY, sub_string)

用于查找子字符串在指定字符串中第一次出现的位置,从 1 开始计数。

SUBSTR 函数

SUBSTR(KEY, start)

提取从指定位置到字符串结尾的子字符串。

SUBSTR(KEY, start, length)

从指定位置开始提取子字符串,提取的长度为 length

TO_UTF8 函数

TO_UTF8(KEY)

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

TRIM 函数

TRIM(KEY)

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

UPPER 函数

UPPER(KEY)

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

正则式函数

函数名称

函数语法

说明

REGEXP_EXTRACT_ALL 函数

REGEXP_EXTRACT_ALL(KEY, regular_expression)

提取与指定正则表达式匹配的子字符串,并返回所有子字符串的合集。

REGEXP_EXTRACT_ALL(KEY, regular_expression, n)

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

REGEXP_EXTRACT 函数

REGEXP_EXTRACT(KEY, regular_expression)

提取与指定的正则表达式匹配的第一个子字符串。

REGEXP_EXTRACT(KEY, regular_expression, n)

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

REGEXP_LIKE 函数

REGEXP_LIKE(KEY, regular_expression)

判断字段值是否与指定的正则表达式匹配。

REGEXP_REPLACE 函数

REGEXP_REPLACE(KEY, regular_expression)

删除与指定正则表达式匹配的子字符串,然后返回未被删除的字符串。

REGEXP_REPLACE(KEY, regular_expression, replace_string)

将与指定正则表达式匹配的子字符串替换为其他字符串,然后返回替换后的字符串。

REGEXP_SPLIT 函数

REGEXP_SPLIT(KEY, regular_expression)

拆分目标字符串,返回拆分后的子字符串集合。

同比与环比函数

函数名称

函数语法

说明

COMPARE 函数

COMPARE(KEY, n)

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

COMPARE(KEY, n1, n2, n3...)

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

TS_COMPARE函数

TS_COMPARE(KEY, n)

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

TS_COMPARE(KEY, n1, n2, n3...)

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

数学计算函数

函数名称
函数语法
说明

ABS 函数

ABS(KEY)

计算目标值的绝对值。

ACOS 函数

ACOS(KEY)

计算值的反余弦。

ASIN 函数

ASIN(KEY)

计算值的反正弦。

ATAN 函数

ATAN(KEY)

计算值的反正切。

CBRT 函数

CBRT(KEY)

计算值的立方根。

CEIL 函数

CEIL(KEY)

对值进行向上取整数。

CEILING 函数

CEILING(KEY)

对值进行向上取整数。

COS 函数

COS(KEY)

计算值的余弦。

COSH 函数

COSH(KEY)

计算值的双曲余弦。

CONSINE_SIMILARITY 函数

CONSINE_SIMILARITY(KEY1, KEY2)

计算两个值之间的余弦相似度。

DEGREES 函数

DEGREES

将弧度转换为度。

E 函数

E()

计算自然底数 e 的值。

EXP 函数

EXP(x)

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

FLOOR 函数

FLOOR(KEY)

对目标值进行向下取整数。

FROM_BASE 函数

FROM_BASE(number_str, base)

将一个给定进制的数字字符串转换为十进制。

IS_NAN 函数

IS_NAN(KEY)

判断值是否为 NaN。

LN 函数

LN(KEY)

计算值的自然对数。

LOG 函数

LOG(KEY)

计算目标值的自然对数。

LOG2 函数

LOG2(KEY)

计算目标值以 2 为底的对数。

LOG 函数

LOG10(KEY)

计算目标值以 10 为底的对数。

MOD 函数

MOD(KEY1, KEY2)

计算两个值相除的余数。

NAN 函数

NAN()

获取 NaN 值。

PI 函数

PI()

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

POWER函数

POWER(KEY, y)

计算目标值的 y 次幂。

RADIANS 函数

RADIANS(KEY)

将度转换为弧度。

RAND 函数

RAND()

返回一个随机数。

RANDOM 函数

RANDOM()

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

RANDOM(0, KEY)

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

ROUND 函数

ROUND(KEY)

对目标值进行四舍五入取整数。

ROUND(KEY,n)

对目标值进行四舍五入,并保留 n 位小数。

SIGN 函数

SIGN(KEY)

确定目标值的符号,通过1、0、-1表示该数值的正负性。

SIN 函数

SIN(KEY)

计算目标值的正弦。

SQRT 函数

SQRT(KEY)

计算目标值的平方根。

TAN 函数

TAN(KEY)

计算目标值的正切。

TANH 函数

TANH(KEY)

计算目标值的双曲正切。

TO_BASE 函数

TO_BASE(number, base)

将一个十进制转换为指定进制的字符串。

WIDTH_BUCKET 函数

WIDTH_BUCKET(KEY, bound1, bound2, numBuckets)

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

WIDTH_BUCKET(KEY, bins)

使用数组指定 Bucket 的范围,然后返回 KEY 值所在 Bucket 的编号。

数学统计函数

函数名称

函数语法

说明

BETA_CDF 函数

BETA_CDF(α, β, v)

在给定参数 α 和 β 的情况下,计算随机变量小于 v 的累积概率。

CORR 函数

CORR(KEY1, KEY2)

计算两组值的相关度。

COVAR_POP 函数

COVAR_POP(KEY1, KEY2)

计算两组值的总体协方差。

COVAR_SAMP 函数

COVAR_SAMP(KEY1, KEY2)

计算两组值的样本协方差。

INVERSE_NORMAL_CDF 函数

INVERSE_NORMAL_CDF(x, y, p)

根据给定的累积概率 p 来计算正态分布中的某个数值。

NORMAL_CDF 函数

NORMAL_CDF(x, y, v)

计算一个正态分布中随机变量小于或等于特定值 v 的概率。

STDDEV 函数

STDDEV(KEY)

计算值的样本标准差。

STDDEV_SAMP 函数

STDDEV_SAMP(KEY)

计算值的样本标准差。

STDDEV_POP 函数

STDDEV_POP(KEY)

计算值的总体标准差。

VARIANCE 函数

VARIANCE(KEY)

计算值的样本方差。

VAR_SAMP 函数

VAR_SAMP(KEY)

计算值的样本方差。

VAR_POP 函数

VAR_POP(KEY)

计算值的总体方差。

数组函数

函数名称

函数语法

说明

ARRAY_AGG 函数

ARRAY_AGG(KEY)

聚合目标字段或表达式的值,并以数组形式返回。

ARRAY_DISTINCT 函数

ARRAY_DISTINCT(KEY)

删除数组中重复的元素。

ARRAY_EXCEPT 函数

ARRAY_EXCEPT(KEY1, KEY2)

剔除两个数组中的重复元素,并返回被剔除重复元素后的第一个数组。

ARRAY_INTERSECT 函数

ARRAY_INTERSECT(KEY1, KEY2)

返回两个数组的交集。

ARRAY_JOIN 函数

ARRAY_JOIN(KEY, delimiter)

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

ARRAY_JOIN(KEY, delimiter, null_replacement)

使用指定的连接符将数组中的元素拼接为一个字符串。如果数组中包含 NULL 元素,则指定其他字符串代替 NULL 元素。

ARRAY_MAX 函数

ARRAY_MAX(KEY)

计算数组元素中的最大值。

ARRAY_MIN 函数

ARRAY_MIN(KEY)

计算数组元素中的最小值。

ARRAY_POSITION 函数

ARRAY_POSITION(KEY, element)

获取指定元素的下标,下标从 1 开始。

ARRAY_REMOVE 函数

ARRAY_REMOVE(KEY, element)

删除数组中的某个元素。

ARRAY_SORT 函数

ARRAY_SORT(KEY)

对数组中的元素进行升序排序。如果存在 NULL 元素,则将 NULL 元素排在最后。

ARRAY_TRANSPOSE 函数

ARRAY_TRANSPOSE(KEY)

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

ARRAY_UNION 函数

ARRAY_UNION(KEY1, KEY2)

返回两个数组的并集。

CARDINALITY 函数

CARDINALITY(KEY)

统计数组中元素的个数。

CONCAT 函数

CONCAT(KEY1, KEY2…)

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

CONTAINS 函数

CONTAINS(KEY, element)

判断数组中是否包含某个元素。

ELEMENT_AT 函数

ELEMENT_AT(KEY, index)

获取数组中指定位置的元素。

FLATTEN 函数

FLATTEN(KEY)

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

FILTER 函数

FILTER(KEY, lambda_expression)

结合 FILTER 函数和 Lambda 表达式,用于过滤数组中的元素。

REDUCE 函数

REDUCE(KEY, lambda_expression)

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

REVERSE 函数

REVERSE(KEY)

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

SEQUENCE 函数

SEQUENCE(x, y)

用于生成指定范围内的数组,其元素为起止值范围内一组连续且递增的值。其中,递增间隔为默认值 1。

SEQUENCE(x, y, step)

用于生成指定范围内的数组,其元素为起止值范围内一组连续且递增的值。其中,递增间隔为自定义值。

SHUFFLE 函数

SHUFFLE(KEY)

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

SLICE 函数

SLICE(KEY, start, length)

获取数组的子集。

TRANSFORM 函数

TRANSFORM(KEY, lambda_expression)

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

ZIP 函数

zip(KEY1, KEY2...)

将多个数组按照对应位置组合为一个二维数组,各个数组中下标相同的元素组成一个新的数

Map 映射函数

函数名称

语法

说明

HISTOGRAM 函数

HISTOGRAM(KEY)

对检索分析结果进行分组,返回结果为 JSON 格式。

MAP 函数

MAP()

构造一个空 Map。

MAP(x,y)

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

MAP_AGG 函数

MAP_AGG(KEY1, KEY2)

聚合数据并将其映射为一个 Map。每个键对应一个唯一的值。

MAP_FILTER 函数

MAP_FILTER(KEY, lambda_expression)

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

MAP_KEYS 函数

MAP_KEYS(KEY)

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

MAP_VALUES 函数

MAP_VALUES(KEY)

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

MULTIMAP_AGG 函数

MULTIMAP_AGG(KEY1, KEY2)

聚合数据并将其映射为一个 Map。每个键可对应多个值。

JSON 函数

函数名称

函数语法

说明

JSON_ARRAY_CONTAINS 函数

JSON_ARRAY_CONTAINS(KEY, value)

判断 JSON 数组中是否存在特定的元素。

JSON_ARRAY_GET 函数

JSON_ARRAY_GET(KEY, index)

根据指定的 JSON 下标提取对应的 JSON 元素。

JSON_ARRAY_LENGTH 函数

JSON_ARRAY_LENGTH(KEY)

计算 JSON 数组长度,即 JSON 元素数量。

JSON_EXTRACT 函数

json_EXTRACT(KEY, json_path)

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

JSON_EXTRACT_SCALAR 函数

JSON_EXTRACT_SCALAR(KEY, json_path)

从 JSON 形式的字符串中提取一组标量值(字符串、整数或布尔值)。

JSON_FORMAT 函数

JSON_FORMAT(KEY)

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

JSON_PARSE 函数

JSON_PARSE(KEY)

将 JSON 格式的字符串转化成 JSON 类型。

JSON_SIZE 函数

JSON_SIZE(KEY, json_path)

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

IP 函数

函数名称

语法

说明

IP_TO_CITY 函数

IP_TO_CITY(KEY)

分析目标 IPv4 地址所属城市,并返回城市的中文名称。

IP_TO_CITY(KEY, 'en')

分析目标 IPv4 地址所属城市,并返回城市的行政区划代码。

IP_TO_CITY_GEO 函数

IP_TO_CITY_GEO(KEY)

分析目标 IPv4 地址所属城市的经纬度,每个城市只有一个经纬度。

IP_TO_COUNTRY 函数

IP_TO_COUNTRY(KEY)

分析目标 IPv4 地址所属国家或地区,并返回国家或地区的中文名称。

IP_TO_COUNTRY(KEY, 'en')

分析目标 IPv4 地址所属国家或地区,并返回国家或地区的代码。

IP_TO_DOMAIN 函数

IP_TO_DOMAIN(KEY)

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

IP_TO_GEO 函数

IP_TO_GEO(KEY)

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

IP_TO_PROVIDER 函数

IP_TO_PROVIDER(KEY)

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

IP_TO_PROVINCE 函数

IP_TO_PROVINCE(KEY)

分析目标 IPv4 地址所属省份,并返回省份的中文名称。

IP_TO_PROVINCE(KEY, 'en')

分析目标 IPv4 地址所属省份,并返回省份的行政区划代码。

IS_PREFIX_SUBNET_OF 函数

IS_PREFIX_SUBNET_OF(x, KEY)

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

IS_SUBNET_OF 函数

IS_SUBNET_OF(x, KEY)

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

IP_SUBNET_RANGE 函数

IP_SUBNET_RANGE(KEY)

获取 IPv4 网段范围。

IPV6_TO_CITY 函数

IPV6_TO_CITY(KEY)

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

IPV6_TO_CITY_GEO 函数

IPV6_TO_CITY_GEO(KEY)

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

IPV6_TO_COUNTRY 函数

IPV6_TO_COUNTRY(KEY)

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

IPV6_TO_DOMAIN 函数

IPV6_TO_DOMAIN(KEY)

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

IPV6_TO_PROVIDER 函数

IPV6_TO_PROVIDER(KEY)

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

IPV6_TO_PROVINCE 函数

IPV6_TO_PROVINCE(x))

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

URL 函数

函数名称
函数语法
说明

URL_ENCODE 函数

URL_ENCODE(KEY)

对 URL 进行编码。

URL_DECODE 函数

URL_DECODE(KEY)

对 URL 进行解码。

URL_EXTRACT_FRAGMENT 函数

URL_EXTRACT_FRAGMENT(KEY)

从 URL 中提取 Fragment 信息。

URL_EXTRACT_HOST 函数

URL_EXTRACT_HOST(KEY)

从 URL 中提取 Host 信息。

URL_EXTRACT_PARAMETER 函数

URL_EXTRACT_PARAMETER(KEY, parameter name)

从 URL 的 Query 部分提取指定参数的值。

URL_EXTRACT_PATH 函数

URL_EXTRACT_PATH(KEY)

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

URL_EXTRACT_PORT 函数

URL_EXTRACT_PORT(KEY)

从 URL 中提取端口信息。

URL_EXTRACT_PROTOCOL 函数

URL_EXTRACT_PROTOCOL(KEY)

从 URL 中提取协议信息。

URL_EXTRACT_QUERY 函数

URL_EXTRACT_QUERY(KEY)

从 URL 中提取完整的 Query 部分。

估算函数

函数名称

函数语法

说明

APPROX_PERCENTILE 函数

approx_percentile(KEY, percentage)

对一组值进行正序排列,返回大约处于某百分位的 KEY 值。

approx_percentile(KEY, array[percentage01, percentage02...])

对一组值进行正序排列,返回大约处于百分位 1、百分位 2 的 KEY 值。

approx_percentile(KEY, weight, percentage)

对一组值和权重的乘积结果进行正序排列,返回大约处于某百分位的 KEY 值。

approx_percentile(KEY, weight, array[percentage01, percentage02...])

对一组值和权重的乘积结果进行正序排列,返回大约处于百分位 1、百分位 2 的 KEY 值。

approx_percentile(KEY, weight, percentage, accuracy)

对一组值和权重的乘积结果进行正序排列,返回大约处于某百分位的值。支持设置准确度。

二进制函数

函数名称

函数语法

说明

FROM_BASE64 函数

FROM_BASE64(KEY)

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

FROM_BASE64URL 函数

FROM_BASE64URL(KEY)

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

FROM_HEX 函数

FROM_HEX(KEY)

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

LENGTH 函数

LENGTH(KEY)

计算二进制类型字符串的长度。

MD5 函数

MD5(KEY)

对二进制类型字符串进行 MD5 编码。

TO_BASE64 函数

TO_BASE64(KEY)

对二进制类型字符串进行 BASE64 编码。

TO_BASE64URL 函数

TO_BASE64URL(KEY)

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

TO_HEX 函数

TO_HEX(KEY)

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

SHA1 函数

SHA1(KEY)

对二进制类型字符串进行 SHA1 加密。

SHA256 函数

SHA256(KEY)

对二进制类型字符串进行 SHA256 加密。

SHA512 函数

SHA512()

对二进制类型字符串进行 SHA512 加密。

位运算函数

函数名称
函数语法
说明

BITWISE_AND 函数

BITWISE_AND(x, y)

对 x 和 y 进行与运算。

BITWISE_NOT 函数

BITWISE_NOT(x)

对 x 的所有位进行取反运算。

BITWISE_OR 函数

BITWISE_OR(x, y)

对 x 和 y 进行或运算。

BITWISE_XOR 函数

BITWISE_XOR(x, y)

对 x 和 y 进行异或运算。

地理函数

函数名称
函数语法
说明

GEOHASH 函数

GEOHASH(KEY)

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

颜色函数

函数名称

函数语法

说明

BAR 函数

BAR(x, width)

绘制一条起始颜色为红色,结束颜色为绿色的 ANSI 条形图,其中 width 定义了整条 ANSI 条形图的宽度,然后通过 x 截取并返还其中一段条形图。

BAR(x, width, low_color, high_color)

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

COLOR 函数

COLOR(string)

将表示颜色的字符串转换为 Color 类型。

COLOR(x, low, high, low_color, high_color)

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

COLOR(y, low_color, high_color)

通过 y 指定 low_color 和 high_color 的份量,然后返回一个混合后的颜色。

RENDER 函数

RENDER(boolean expression)

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

RENDER(x, color)

使用自定义的颜色渲染返回结果。

RGB 函数

RGB(red, green, blue)

通过指定的 RGB 值返回一个颜色值。

电话号码函数

函数名称
函数语法
说明

MOBILE_CARRIER 函数

MOBILE_CARRIER(KEY)

查询电话号码所属的运营商。

MOBILE_CITY 函数

MOBILE_CITY(KEY)

查询电话号码所属的城市。

MOBILE_PROVINCE 函数

MOBILE_PROVINCE(KEY)

查询电话号码所属待省份。

单位换算函数

函数名称

函数语法

说明

CONVERT_DATA_SIZE 函数

CONVERT_DATA_SIZE(KEY)

系统自动判断最优的换算单位,换算数据量的单位。

CONVERT_DATA_SIZE(KEY, unit)

使用指定的换算单位,换算数据量的单位。

FORMAT_DATA_SIZE 函数

FORMAT_DATA_SIZE(KEY, unit)

使用指定单位换算 Byte 单位的数据量。

PARSE_DATA_SIZE 函数

PARSE_DATA_SIZE(KEY)

将数据量的单位换算为 Byte。

TO_DATA_SIZE_B 函数

TO_DATA_SIZE_B(KEY)

将数据量的单位换算为 Byte。返回类型为 double。

TO_DATA_SIZE_KB 函数

TO_DATA_SIZE_KB(KEY)

将数据量的单位换算为 KB。

TO_DATA_SIZE_MB 函数

TO_DATA_SIZE_MB(KEY)

将数据量的单位换算为 MB。

TO_DATA_SIZE_GB 函数

TO_DATA_SIZE_GB(KEY)

将数据量的单位换算为 GB。

TO_DATA_SIZE_TB 函数

TO_DATA_SIZE_TB(KEY)

将数据量的单位换算为 TB。

TO_DATA_SIZE_PB 函数

TO_DATA_SIZE_PB(KEY)

将数据量的单位换算为 PB。

FORMAT_DURATION 函数

FORMAT_DURATION(KEY)

将以秒为单位的时间间隔格式化为 xx weeks, xx days, xx hours, xx minutes, xx seconds 格式。

PARSE_DURATION 函数

PARSE_DURATION(KEY)

将时间间隔格式化为0 00:00:00.000格式。

TO_DAYS 函数

TO_DAYS(KEY)

将时间间隔的单位换算为天。

TO_MICROSECONDS 函数

TO_MILLISECONDS(KEY)

将时间间隔的单位换算为毫秒。

TO_MINUTES 函数

TO_MINUTES(KEY)

将时间间隔的单位换算为分钟。

TO_MOST_SUCCINCT_TIME_UNIT 函数

TO_MOST_SUCCINCT_TIME_UNIT(KEY)

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

TO_SECONDS 函数

TO_SECONDS(KEY)

将时间间隔单位转换为秒。

TO_NANOSECONDS 函数

TO_NANOSECONDS(KEY)

将时间间隔单位转换为纳秒。

TO_MICROSECONDS 函数

TO_MICROSECONDS(KEY)

将时间间隔单位转换为微秒。

TO_HOURS 函数

TO_HOURS(KEY)

将时间间隔单位转换为小时。

窗口漏斗函数

函数名称

语法

说明

WINDOW_FUNNEL 函数

WINDOW_FUNNEL(sliding_window,
timestamp, event_id, array[event_list01, event_list02...])

在滑动的时间窗口中搜索事件链并计算事件链中发生的最大连续的事件数。
数据中已定义事件列(event_id)时,您可选择该语法。

WINDOW_FUNNEL(sliding_window,
timestamp, array[event_id=event_list01, event_id=event_list02...])

在滑动的时间窗口中搜索事件链并计算事件链中发生的最大连续的事件数。
如果您想要自定义事件的非枚举值,可选择该语法,更具有灵活性。

窗口函数

函数名称

语法

说明

CUME_DIST 函数

CUME_DIST()

计算当前行在其所属窗口分区内的累积分布比例。

DENSE_RANK 函数

DENSE_RANK()

对窗口分区内值的排名。

FIRST_VALUE 函数

FIRST_VALUE(KEY)

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

LAG 函数

LAG(KEY, offset, default_value)

查询分区内位于当前行上方第 offset 行的值。

LAST_VALUE 函数

LAST_VALUE(KEY)

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

LEAD 函数

LEAD(KEY, offset, default_value)

查询分区内位于当前行下方第 offset 行的值。

NTILE 函数

NTILE(n)

将各个窗口分区内的数据行有序且均匀得分成多组,并返回数据行所在的组号,从 1 开始。

NTH_VALUE 函数

NTH_VALUE(KEY, offset)

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

PERCENT_RANK 函数

PERCENT_RANK()

计算各个窗口分区内各个行的相对位置,以百分比形式表示。

RANK 函数

RANK()

计算各个窗口分区内各个数据行的排名。同一个分区内相同值会获得相同的排名,下一个值的排名将跳过这些重复的排名值,

ROW_NUMBER 函数

ROW_NUMBER()

计算各个窗口分区内各个数据行的排名。每个值具有唯一的序号,从 1 开始。

类型转换函数

函数名称
函数语法
说明

CAST 函数

CAST(KEY AS type)

转换 KEY 的数据类型。

TRY_CAST 函数

TRY_CAST(KEY AS type)

转换 KEY 的数据类型。

TYPEOF 函数

TYPEOF(KEY)

查询 KEY 的数据类型。