日志服务提供单位换算函数,帮助您换算数据量或时间间隔的单位。本文介绍单位换算函数的基本语法及示例。

注意 在日志服务分析语句中,表示字符串的字符必须使用单引号('')包裹,无符号包裹或被双引号("")包裹的字符表示字段名或列名。例如:'status'表示字符串status,status"status"表示日志字段status。
函数分类 函数名称 语法 说明
数据量单位转换 convert_data_size函数 convert_data_size(x) 对数据量单位进行换算,系统自动判断最优的换算单位,返回使用最优单位表示的数据量。返回类型为string。例如将1024 KB换算为1 MB,1024 MB换算为1 GB。
convert_data_size(x, unit) 对数据量单位进行换算,返回使用指定单位表示的数据量。返回类型为string。
format_data_size函数 format_data_size(x, unit) 对Byte单位进行换算,返回使用指定单位表示的数据量。返回类型为string。
parse_data_size函数 parse_data_size(x) 对数据量单位进行换算,返回以Byte为单位的数据量。返回类型为decimal。
to_data_size_B函数 to_data_size_B(x) 对数据量单位进行换算,返回以Byte为单位的数据量。返回类型为double。
to_data_size_KB函数 to_data_size_KB(x) 对数据量单位进行换算,返回以KB为单位的数据量。返回类型为double。
to_data_size_MB函数 to_data_size_MB(x) 对数据量单位进行换算,返回以MB为单位的数据量。返回类型为double。
to_data_size_GB函数 to_data_size_GB(x) 对数据量单位进行换算,返回以GB为单位的数据量。返回类型为double。
to_data_size_TB函数 to_data_size_TB(x) 对数据量单位进行换算,返回以TB为单位的数据量。返回类型为double。
to_data_size_PB函数 to_data_size_PB(x) 对数据量单位进行换算,返回以PB为单位的数据量。返回类型为double。
时间间隔单位转换函数 format_duration函数 format_duration(x) 对以秒为单位的时间间隔进行格式化,转换为可读的字符串类型。
parse_duration函数 parse_duration(x) 对时间间隔进行格式化,转换为0 00:00:00.000格式。
to_days函数 to_days(x) 对时间间隔单位进行换算,转换为以天为单位的时间间隔。
to_hours函数 to_hours(x) 对时间间隔单位进行换算,转换为以小时为单位的时间间隔。
to_microseconds函数 to_microseconds(x) 对时间间隔单位进行换算,转换为以微秒为单位的时间间隔。
to_milliseconds函数 to_milliseconds(x) 对时间间隔单位进行换算,转换为以毫秒为单位的时间间隔。
to_minutes函数 to_minutes(x) 对时间间隔单位进行换算,转换为以分钟为单位的时间间隔。
to_most_succinct_time_unit函数 to_most_succinct_time_unit(x) 对时间间隔单位进行换算,系统自动判断最优的换算单位,返回使用最优单位表示的时间间隔。
to_nanoseconds函数 to_nanoseconds(x) 对时间间隔单位进行换算,转换为以纳秒为单位的时间间隔。
to_seconds函数 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')
    • 查询和分析结果convert_data_size
  • 示例2:body_bytes_sent字段表示发送给客户端的字节数,单位为Byte。通过convert_data_size函数将字段值换算为以KB为单位的值。
    • 查询和分析语句
      * | select convert_data_size(format_data_size(body_bytes_sent, 'KB'))
    • 查询和分析结果convert_data_size

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')
    • 查询和分析结果 format_data_size
  • 示例2:body_bytes_sent字段表示发送给客户端的字节数,单位为Byte。通过sum函数计算总字节数,再通过format_data_size函数将总字节数换算为以GB为单位的值。
    • 字段样例
      body_bytes_sent:4619
    • 查询和分析语句
      * | select format_data_size(sum(body_bytes_sent), 'GB')
    • 查询和分析结果format_data_size

parse_data_size函数

parse_data_size函数用于对数据量单位进行换算,返回以Byte为单位的数据量。

语法

parse_data_size(x)

参数说明

参数 说明
x 数据量,参数值为string类型。

返回值类型

decimal类型。

示例

将1024 KB换算为以Byte为单位的值。

  • 查询和分析语句
    *| SELECT parse_data_size('1024KB')
  • 查询和分析结果parse_data_size

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_B

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_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_MB

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_GB

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_TB

to_data_size_PB函数

to_data_size_PB函数用于对数据量单位进行换算,返回以PB为单位的数据量。

语法

to_data_size_PB(x)

参数说明

参数 说明
x 数据量,参数值为string类型。

返回值类型

double类型。

示例

将1048576 GB换算为以TB为单位的值。

  • 查询和分析语句
    *| SELECT to_data_size_PB('1048576GB')
  • 查询和分析结果to_data_size_PB

format_duration函数

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

语法

format_duration(x)

参数说明

参数 说明
x 时间间隔,参数值为double类型。

返回值类型

string类型。

示例

将235秒转换为3 minutes, 55 seconds格式。

  • 查询和分析语句
    * | SELECT format_duration(235)
  • 查询和分析结果format_duration

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')
  • 查询和分析结果parse_duration

to_days函数

to_days函数用于对时间间隔单位进行换算,转换为以天为单位的时间间隔。

语法

to_days(x)

参数说明

参数 说明
x 时间间隔,参数值为varchar类型。

返回值类型

double类型。

示例

将192848s转换为以天为单位的时间间隔。

  • 查询和分析语句
    *| SELECT to_days('192848s')
  • 查询和分析结果to_day

to_hours函数

to_hours函数用于对时间间隔单位进行换算,转换为以小时为单位的时间间隔。

语法

to_hours(x)

参数说明

参数 说明
x 时间间隔,参数值为varchar类型。

返回值类型

double类型。

示例

将1.2天转换为以小时为单位的时间间隔。

  • 查询和分析语句
    * | SELECT to_hours('1.2d')
  • 查询和分析结果to_hours

to_microseconds函数

to_microseconds函数用于对时间间隔单位进行换算,转换为以微秒为单位的时间间隔。

语法

to_microseconds(x)

参数说明

参数 说明
x 时间间隔,参数值为varchar类型。

返回值类型

double类型。

示例

将3600纳秒转换为以微秒为单位的时间间隔。

  • 查询和分析语句
    * | SELECT to_microseconds('3600ns')
  • 查询和分析结果to_microseconds

to_milliseconds函数

to_milliseconds函数用于对时间间隔单位进行换算,转换为以毫秒为单位的时间间隔。

语法

to_milliseconds(x)

参数说明

参数 说明
x 时间间隔,参数值为varchar类型。

返回值类型

double类型。

示例

将1.2秒转换为以毫秒为单位的时间间隔。

  • 查询和分析语句
    * | SELECT to_milliseconds('1.2s')
  • 查询和分析结果to_milliseconds

to_minutes函数

to_minutes函数用于对时间间隔单位进行换算,转换为以分钟为单位的时间间隔。

语法

to_minutes(x)

参数说明

参数 说明
x 时间间隔,参数值为varchar类型。

返回值类型

double类型。

示例

将1.2小时转换为以分钟为单位的时间间隔。

  • 查询和分析语句
    * | SELECT to_minutes('1.2h')
  • 查询和分析结果to_minutes

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_most_succinct_time_unit

to_nanoseconds函数

to_nanoseconds函数用于对时间间隔单位进行换算,转换为以纳秒为单位的时间间隔。

语法

to_nanoseconds(x)

参数说明

参数 说明
x 时间间隔,参数值为varchar类型。

返回值类型

double类型。

示例

将125毫秒转换为以纳秒为单位的时间间隔。

  • 查询和分析语句
    * | SELECT to_nanoseconds('125ms')
  • 查询和分析结果to_nanoseconds

to_seconds函数

to_seconds函数用于对时间间隔单位进行换算,转换为以秒为单位的时间间隔。

语法

to_seconds(x)

参数说明

参数 说明
x 时间间隔,参数值为varchar类型。

返回值类型

double类型。

示例

将1340毫秒转换为以秒为单位的时间间隔。

  • 查询和分析语句
    * | SELECT to_seconds('1340ms')
  • 查询和分析结果to_seconds