本文介绍日志服务支持的单位运算函数语法及常见场景的使用示例。
说明
在日志服务分析语句(SQL 语句)中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。例如'time'
代表字符串,time
或 "time"
代表字段名或列名。
函数分类 | 函数名称 | 语法 | 说明 |
---|---|---|---|
数据量单位转换 | CONVERT_DATA_SIZE(KEY) | 系统自动判断最优的换算单位,换算数据量的单位。 | |
CONVERT_DATA_SIZE(KEY, unit) | 使用指定的换算单位,换算数据量的单位。 | ||
FORMAT_DATA_SIZE(KEY, unit) | 使用指定单位换算 Byte 单位的数据量。 | ||
PARSE_DATA_SIZE(KEY) | 将数据量的单位换算为 Byte。 | ||
TO_DATA_SIZE_B(KEY) | 将数据量的单位换算为 Byte。返回类型为double。 | ||
TO_DATA_SIZE_KB(KEY) | 将数据量的单位换算为 KB。 | ||
TO_DATA_SIZE_MB(KEY) | 将数据量的单位换算为 MB。 | ||
TO_DATA_SIZE_GB(KEY) | 将数据量的单位换算为 GB。 | ||
TO_DATA_SIZE_TB(KEY) | 将数据量的单位换算为 TB。 | ||
TO_DATA_SIZE_PB(KEY) | 将数据量的单位换算为 PB。 | ||
时间间隔单位转换 | FORMAT_DURATION(KEY) | 将以秒为单位的时间间隔格式化为 | |
PARSE_DURATION(KEY) | 将时间间隔格式化为 | ||
TO_DAYS(KEY) | 将时间间隔的单位换算为天。 | ||
TO_MILLISECONDS(KEY) | 将时间间隔的单位换算为毫秒。 | ||
TO_MINUTES(KEY) | 将时间间隔的单位换算为分钟。 | ||
TO_MOST_SUCCINCT_TIME_UNIT(KEY) | 使用系统自动判断的最优换算单位对时间间隔进行换算。 | ||
TO_SECONDS(KEY) | 将时间间隔单位转换为秒。 | ||
TO_NANOSECONDS(KEY) | 将时间间隔单位转换为纳秒。 | ||
TO_MICROSECONDS(KEY) | 将时间间隔单位转换为微秒。 | ||
TO_HOURS(KEY) | 将时间间隔单位转换为小时。 |
CONVERT_DATA_SIZE 函数用于对数据量单位进行换算。
语法格式
系统自动判断最优的换算单位,换算数据量的单位。
CONVERT_DATA_SIZE(KEY)
使用指定的换算单位,换算数据量的单位。
CONVERT_DATA_SIZE(KEY, unit)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 String 类型。 |
unit | 数据的存储单位,可选值为 KB、MB、GB、PB、TB、EB、ZB、YB。 |
返回值说明
返回值为 String 类型。
示例1
场景
将 100,000 KB 换算为使用系统最优单位表示的数据量。
检索和分析语句
* | SELECT CONVERT_DATA_SIZE('100000KB')
检索和分析结果
示例2
* | SELECT CONVERT_DATA_SIZE('100000KB', 'GB')
检索和分析结果
FORMAT_DATA_SIZE 函数使用指定单位换算 Byte 单位的数据量。
语法格式
FORMAT_DATA_SIZE(KEY, unit)
参数说明
参数 | 说明 |
---|---|
KEY | 日志字段、表达式,其值为 Bigint 类型,单位为 Byte。 |
unit | 数据的存储单位,可选值为 KB、MB、GB、PB、TB、EB、ZB、YB。 |
返回值说明
返回值为 String 类型。
场景ReqSize
字段值的单位为 Byte,使用 FORMAT_DATA_SIZE 函数换算为 KB 单位。
日志样例
检索和分析语句
* | SELECT FORMAT_DATA_SIZE(4096, 'KB')
检索和分析结果
PARSE_DATA_SIZE 函数用于将数据量的单位换算为 Byte。
语法格式
PARSE_DATA_SIZE(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 String 类型。 |
返回值说明
返回值为 Decimal 类型。
场景
将 1 KB换算为以 Byte 为单位的值。
检索和分析语句
*| SELECT PARSE_DATA_SIZE('1KB')
检索和分析结果
TO_DATA_SIZE_B 函数用于将数据量的单位换算为 Byte。
语法格式
TO_DATA_SIZE_B(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 String 类型。 |
返回值说明
返回值为 Double 类型。
场景
将 1 KB换算为以 Byte 为单位的值。
检索和分析语句
* | SELECT TO_DATA_SIZE_B('1KB')
检索和分析结果
TO_DATA_SIZE_KB 函数用于将数据量的单位换算为 KB。
语法格式
TO_DATA_SIZE_KB(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 String 类型。 |
返回值说明
返回值为 Double 类型。
场景
将 2048MB 换算为以 KB 为单位的值。
检索和分析语句
* | SELECT TO_DATA_SIZE_KB('2048MB')
检索和分析结果
TO_DATA_SIZE_MB 函数用于将数据量单位换算为 MB。
语法格式
TO_DATA_SIZE_MB(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 String 类型。 |
返回值说明
返回值为 Double 类型。
场景
将 1024GB 换算为以 MB 为单位的值。
检索和分析语句
* | SELECT TO_DATA_SIZE_MB('1024GB')
检索和分析结果
TO_DATA_SIZE_GB 函数用于将数据量单位换算为 GB。
语法格式
TO_DATA_SIZE_GB(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 String 类型。 |
返回值说明
返回值为 Double 类型。
场景
将 1024TB 换算为以 GB 为单位的值。
检索和分析语句
* | SELECT TO_DATA_SIZE_GB('1024TB')
检索和分析结果
TO_DATA_SIZE_TB 函数用于将数据量单位换算为 TB 。
语法格式
TO_DATA_SIZE_TB(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 String 类型。 |
返回值说明
返回值为 Double 类型。
场景
将 1024PB 换算为以 TB 为单位的值。
检索和分析语句
* | SELECT TO_DATA_SIZE_TB('1024PB')
检索和分析结果
TO_DATA_SIZE_PB 函数用于将数据量单位换算为 PB。
语法格式
TO_DATA_SIZE_PB(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 String 类型。 |
返回值说明
返回值为 Double 类型。
场景
将 1048576TB 换算为以 PB 为单位的值。
检索和分析语句
* | SELECT TO_DATA_SIZE_PB('1048576TB')
检索和分析结果
FORMAT_DURATION 函数用于将以秒为单位的时间间隔格式化为 xx weeks, xx days, xx hours, xx minutes, xx seconds
格式。
语法格式
FORMAT_DURATION(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 Double 类型。 |
返回值说明
返回值为 String 类型。
场景
格式化时间间隔 4200000 秒。
检索和分析语句
* | SELECT FORMAT_DURATION(4200000)
检索和分析结果
PARSE_DURATION函数用于将时间间隔格式化为0 00:00:00.000
格式。
语法格式
PARSE_DURATION(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 String 类型。 |
返回值说明
返回值为 String 类型。
场景
将 120,000 秒转换为 1 09:20:00.000
格式。
检索和分析语句
* | SELECT PARSE_DURATION('120000s')
检索和分析结果
TO_DAYS 函数用于将时间间隔的单位换算为天。
语法格式
TO_DAYS(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 Varchar 类型。 |
返回值说明
返回值为 Double 类型。
场景
将 360,000s 转换为以天为单位的时间间隔。
检索和分析语句
*| SELECT TO_DAYS('360000s')
检索和分析结果
TO_MILLISECONDS 函数用于将时间间隔的单位换算为以毫秒。
语法格式
TO_MILLISECONDS(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 Varchar 类型。 |
返回值说明
返回值为 Double 类型。
场景
将 10 秒转换为以毫秒为单位的时间间隔。
检索和分析语句
* | SELECT TO_MILLISECONDS('10s')
检索和分析结果
TO_MINUTES 函数用于将时间间隔单位转换为分钟。
语法格式
TO_MINUTES(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 Varchar 类型。 |
返回值说明
返回值为 Double 类型。
函数示例
场景
将 10 小时转换为以分钟为单位的时间间隔。
检索和分析语句
* | SELECT TO_MINUTES('10h')
检索和分析结果
TO_MOST_SUCCINCT_TIME_UNIT 函数使用系统自动判断的最优换算单位对时间间隔进行换算。
语法格式
TO_MOST_SUCCINCT_TIME_UNIT(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 Varchar 类型。 |
返回值说明
返回值为 Varchar 类型。
场景
将 1340ms 转换为以秒为单位的时间间隔。
检索和分析语句
* | SELECT TO_MOST_SUCCINCT_TIME_UNIT('1340ms')
检索和分析结果
TO_SECONDS 函数用于对时间间隔单位转换为秒。
语法格式
TO_SECONDS(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 Varchar 类型。 |
返回值说明
返回值为 Double 类型。
场景
将1340毫秒转换为以秒为单位的时间间隔。
检索和分析语句
* | SELECT TO_SECONDS('1340ms')
检索和分析结果
TO_NANOSECONDS 函数用于将时间间隔单位转换为纳秒。
语法格式
TO_NANOSECONDS(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 Varchar 类型。 |
返回值说明
返回值为 Double 类型。
场景
将125毫秒转换为以纳秒为单位的时间间隔。
检索和分析语句
* | SELECT TO_NANOSECONDS('125ms')
检索和分析结果
TO_MICROSECONDS 函数用于将时间间隔单位转换为微秒。
语法格式
TO_MICROSECONDS(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 Varchar 类型。 |
返回值说明
返回值为 Double 类型。
场景
将 3600 纳秒转换为以微秒为单位的时间间隔。
检索和分析语句
* | SELECT TO_MICROSECONDS('3600ns')
检索和分析结果
TO_HOURS 函数用于将时间间隔单位转换为小时。
语法格式
TO_HOURS(KEY)
参数说明
参数 | 说明 |
---|---|
KEY | 字段、表达式,其值为 Varchar 类型。 |
返回值说明
返回值为 Double 类型。
场景
将 1.2 天转换为以小时为单位的时间间隔。
检索和分析语句
* | SELECT TO_HOURS('1.2d')
检索和分析结果