日志服务提供单位换算函数,帮助您换算数据量或时间间隔的单位。本文介绍单位换算函数的基本语法及示例。
日志服务支持如下单位换算函数。
函数分类 | 函数名称 | 语法 | 说明 | 支持SQL | 支持SPL |
数据量单位转换函数 | convert_data_size(x) | 对数据量单位进行换算,系统自动判断最优的换算单位,返回使用最优单位表示的数据量。返回类型为string。例如将1024 KB换算为1 MB,1024 MB换算为1 GB。 | √ | × | |
convert_data_size(x, unit) | 对数据量单位进行换算,返回使用指定单位表示的数据量。返回类型为string。 | √ | × | ||
format_data_size(x, unit) | 对Byte单位进行换算,返回使用指定单位表示的数据量。返回类型为string。 | √ | × | ||
parse_data_size(x) | 对数据量单位进行换算,返回以Byte为单位的数据量。返回类型为decimal。 | √ | × | ||
to_data_size_B(x) | 对数据量单位进行换算,返回以Byte为单位的数据量。返回类型为double。 | √ | × | ||
to_data_size_KB(x) | 对数据量单位进行换算,返回以KB为单位的数据量。返回类型为double。 | √ | × | ||
to_data_size_MB(x) | 对数据量单位进行换算,返回以MB为单位的数据量。返回类型为double。 | √ | × | ||
to_data_size_GB(x) | 对数据量单位进行换算,返回以GB为单位的数据量。返回类型为double。 | √ | × | ||
to_data_size_TB(x) | 对数据量单位进行换算,返回以TB为单位的数据量。返回类型为double。 | √ | × | ||
to_data_size_PB(x) | 对数据量单位进行换算,返回以PB为单位的数据量。返回类型为double。 | √ | × | ||
时间间隔单位转换函数 | format_duration(x) | 对以秒为单位的时间间隔进行格式化,转换为可读的字符串类型。 | √ | × | |
parse_duration(x) | 对时间间隔进行格式化,转换为 | √ | × | ||
to_days(x) | 对时间间隔单位进行换算,转换为以天为单位的时间间隔。 | √ | × | ||
to_hours(x) | 对时间间隔单位进行换算,转换为以小时为单位的时间间隔。 | √ | × | ||
to_microseconds(x) | 对时间间隔单位进行换算,转换为以微秒为单位的时间间隔。 | √ | × | ||
to_milliseconds(x) | 对时间间隔单位进行换算,转换为以毫秒为单位的时间间隔。 | √ | × | ||
to_minutes(x) | 对时间间隔单位进行换算,转换为以分钟为单位的时间间隔。 | √ | × | ||
to_most_succinct_time_unit(x) | 对时间间隔单位进行换算,系统自动判断最优的换算单位,返回使用最优单位表示的时间间隔。 | √ | × | ||
to_nanoseconds(x) | 对时间间隔单位进行换算,转换为以纳秒为单位的时间间隔。 | √ | × | ||
to_seconds(x) | 对时间间隔单位进行换算,转换为以秒为单位的时间间隔。 | √ | × |
convert_data_size函数
convert_data_size函数用于对数据量单位进行换算。
语法
对数据量单位进行换算,系统自动判断最优的换算单位,返回使用最优单位表示的数据量。
convert_data_size(x)
对数据量单位进行换算,返回使用指定单位表示的数据量。
convert_data_size(x, unit)
参数说明
参数 | 说明 |
x | 数据量,参数值为string类型。 |
unit | 数据的存储单位,取值范围为KB、MB、GB、PB、TB、EB、ZB、YB。 |
返回值类型
string类型。
示例
示例1:将1200 KB换算为其他数据单位的值。
查询和分析语句
* | SELECT convert_data_size('1200KB')
查询和分析结果
示例2:body_bytes_sent字段表示发送给客户端的字节数,单位为Byte。通过convert_data_size函数将字段值换算为以KB为单位的值。
查询和分析语句
* | select convert_data_size(format_data_size(body_bytes_sent, 'KB'))
查询和分析结果
format_data_size函数
format_data_size函数用于对Byte单位进行换算,返回使用指定单位表示的数据量。
语法
format_data_size(x, unit)
参数说明
参数 | 说明 |
x | 以Byte为单位的数据量,参数值为bigint类型。 |
unit | 数据的存储单位,取值范围为KB、MB、GB、PB、TB、EB、ZB、YB。 |
返回值类型
string类型。
示例
示例1:body_bytes_sent字段表示发送给客户端的字节数,单位为Byte。通过format_data_size函数将字段值换算为以KB为单位的值。
字段样例
body_bytes_sent:4619
查询和分析语句
* | select format_data_size(body_bytes_sent, 'KB')
查询和分析结果
示例2:body_bytes_sent字段表示发送给客户端的字节数,单位为Byte。通过sum函数计算总字节数,再通过format_data_size函数将总字节数换算为以GB为单位的值。
字段样例
body_bytes_sent:4619
查询和分析语句
* | select format_data_size(sum(body_bytes_sent), 'GB')
查询和分析结果
parse_data_size函数
parse_data_size函数用于对数据量单位进行换算,返回以Byte为单位的数据量。
语法
parse_data_size(x)
参数说明
参数 | 说明 |
x | 数据量,参数值为string类型。 |
返回值类型
decimal类型。
示例
将1024 KB换算为以Byte为单位的值。
查询和分析语句
*| SELECT parse_data_size('1024KB')
查询和分析结果
to_data_size_B函数
to_data_size_B函数用于对数据量单位进行换算,返回以Byte为单位的数据量。
语法
to_data_size_B(x)
参数说明
参数 | 说明 |
x | 数据量,参数值为string类型。 |
返回值类型
double类型。
示例
将1024 KB换算为以Byte为单位的值。
查询和分析语句
* | select to_data_size_B('1024KB')
查询和分析结果
to_data_size_KB函数
to_data_size_KB函数用于对数据量单位进行换算,返回以KB为单位的数据量。
语法
to_data_size_KB(x)
参数说明
参数 | 说明 |
x | 数据量,参数值为string类型。 |
返回值类型
double类型。
示例
body_bytes_sent字段表示发送给客户端的字节数,单位为Byte。通过to_data_size_KB函数将字段值换算为以KB为单位的值。
查询和分析语句
* | select to_data_size_KB(format_data_size(body_bytes_sent, 'KB'))
查询和分析结果
to_data_size_MB函数
to_data_size_MB函数用于对数据量单位进行换算,返回以MB为单位的数据量。
语法
to_data_size_MB(x)
参数说明
参数 | 说明 |
x | 数据量,参数值为string类型。 |
返回值类型
double类型。
示例
body_bytes_sent字段表示发送给客户端的字节数,单位为Byte。通过to_data_size_MB函数将总字节数换算为以MB为单位的值。
查询和分析语句
* | select to_data_size_MB(format_data_size(sum(body_bytes_sent), 'KB'))
查询和分析结果
to_data_size_GB函数
to_data_size_GB函数用于对数据量单位进行换算,返回以GB为单位的数据量。
语法
to_data_size_GB(x)
参数说明
参数 | 说明 |
x | 数据量,参数值为string类型。 |
返回值类型
double类型。
示例
body_bytes_sent字段表示发送给客户端的字节数,单位为Byte。通过to_data_size_GB函数将总字节数换算为以GB为单位的值。
查询和分析语句
* | select to_data_size_GB(format_data_size(sum(body_bytes_sent), 'KB'))
查询和分析结果
to_data_size_TB函数
to_data_size_TB函数用于对数据量单位进行换算,返回以TB为单位的数据量。
语法
to_data_size_TB(x)
参数说明
参数 | 说明 |
x | 数据量,参数值为string类型。 |
返回值类型
double类型。
示例
body_bytes_sent字段表示发送给客户端的字节数,单位为Byte。通过to_data_size_TB函数将总字节数换算为以TB为单位的值。
查询和分析语句
* | select to_data_size_TB(format_data_size(sum(body_bytes_sent), 'KB'))
查询和分析结果
to_data_size_PB函数
to_data_size_PB函数用于对数据量单位进行换算,返回以PB为单位的数据量。
语法
to_data_size_PB(x)
参数说明
参数 | 说明 |
x | 数据量,参数值为string类型。 |
返回值类型
double类型。
示例
将1048576 GB换算为以PB为单位的值。
查询和分析语句
*| SELECT to_data_size_PB('1048576GB')
查询和分析结果
format_duration函数
format_duration函数用于对以秒为单位的时间间隔进行格式化,转换为可读的字符串类型。
语法
format_duration(x)
参数说明
参数 | 说明 |
x | 时间间隔,参数值为double类型。 |
返回值类型
string类型。
示例
将235秒转换为3 minutes, 55 seconds
格式。
查询和分析语句
* | SELECT format_duration(235)
查询和分析结果
parse_duration函数
parse_duration函数用于对时间间隔进行格式化,转换为0 00:00:00.000
格式。
语法
parse_duration(x)
参数说明
参数 | 说明 |
x | 时间间隔,参数值为string类型。 |
返回值类型
interval类型。
示例
将1340毫秒转换为0 00:00:01.340
格式。
查询和分析语句
* | SELECT parse_duration('1340ms')
查询和分析结果
to_days函数
to_days函数用于对时间间隔单位进行换算,转换为以天为单位的时间间隔。
语法
to_days(x)
参数说明
参数 | 说明 |
x | 时间间隔,参数值为varchar类型。 |
返回值类型
double类型。
示例
将192848s转换为以天为单位的时间间隔。
查询和分析语句
*| SELECT to_days('192848s')
查询和分析结果
to_hours函数
to_hours函数用于对时间间隔单位进行换算,转换为以小时为单位的时间间隔。
语法
to_hours(x)
参数说明
参数 | 说明 |
x | 时间间隔,参数值为varchar类型。 |
返回值类型
double类型。
示例
将1.2天转换为以小时为单位的时间间隔。
查询和分析语句
* | SELECT to_hours('1.2d')
查询和分析结果
to_microseconds函数
to_microseconds函数用于对时间间隔单位进行换算,转换为以微秒为单位的时间间隔。
语法
to_microseconds(x)
参数说明
参数 | 说明 |
x | 时间间隔,参数值为varchar类型。 |
返回值类型
double类型。
示例
将3600纳秒转换为以微秒为单位的时间间隔。
查询和分析语句
* | SELECT to_microseconds('3600ns')
查询和分析结果
to_milliseconds函数
to_milliseconds函数用于对时间间隔单位进行换算,转换为以毫秒为单位的时间间隔。
语法
to_milliseconds(x)
参数说明
参数 | 说明 |
x | 时间间隔,参数值为varchar类型。 |
返回值类型
double类型。
示例
将1.2秒转换为以毫秒为单位的时间间隔。
查询和分析语句
* | SELECT to_milliseconds('1.2s')
查询和分析结果
to_minutes函数
to_minutes函数用于对时间间隔单位进行换算,转换为以分钟为单位的时间间隔。
语法
to_minutes(x)
参数说明
参数 | 说明 |
x | 时间间隔,参数值为varchar类型。 |
返回值类型
double类型。
示例
将1.2小时转换为以分钟为单位的时间间隔。
查询和分析语句
* | SELECT to_minutes('1.2h')
查询和分析结果
to_most_succinct_time_unit函数
to_most_succinct_time_unit函数用于对时间间隔单位进行换算,系统自动判断最优的换算单位,返回使用最优单位表示的时间。
语法
to_most_succinct_time_unit(x)
参数说明
参数 | 说明 |
x | 时间间隔,参数值为varchar类型。 |
返回值类型
varchar类型。
示例
将1340ms转换为以秒为单位的时间间隔。
查询和分析语句
* | SELECT to_most_succinct_time_unit('1340ms')
查询和分析结果
to_nanoseconds函数
to_nanoseconds函数用于对时间间隔单位进行换算,转换为以纳秒为单位的时间间隔。
语法
to_nanoseconds(x)
参数说明
参数 | 说明 |
x | 时间间隔,参数值为varchar类型。 |
返回值类型
double类型。
示例
将125毫秒转换为以纳秒为单位的时间间隔。
查询和分析语句
* | SELECT to_nanoseconds('125ms')
查询和分析结果
to_seconds函数
to_seconds函数用于对时间间隔单位进行换算,转换为以秒为单位的时间间隔。
语法
to_seconds(x)
参数说明
参数 | 说明 |
x | 时间间隔,参数值为varchar类型。 |
返回值类型
double类型。
示例
将1340毫秒转换为以秒为单位的时间间隔。
查询和分析语句
* | SELECT to_seconds('1340ms')
查询和分析结果