日志服务提供时间函数、日期函数、时间截断函数、时间间隔函数和时序补全函数,支持对日志中的日期和时间进行格式转换,分组聚合等处理。本文介绍日期和时间函数的基本语法及示例。

注意
  • 日志服务中的日志时间戳精确到秒,所以配置时间格式(format)时,只需配置到秒,无需配置毫秒、微秒等信息。
  • 只需为时间字符串中的时间部分配置时间格式(format),其他内容(例如时区)无需配置时间格式。
  • 日志服务中的每条日志都包含保留字段__time__,该字段的值为UNIX时间戳格式,例如1592374067,代表2020-06-17 14:07:47。
  • 在日志服务分析语句中,表示字符串的字符必须使用单引号('')包裹,无符号包裹或被双引号("")包裹的字符表示字段名或列名。例如:'status'表示字符串status,status"status"表示日志字段status。
函数类型 函数名称 语法 说明
日期和时间函数 current_date函数 current_date 返回当前日期。
current_time函数 current_time 返回当前时间和时区。
current_timestamp函数 current_timestamp 返回当前日期、时间和时区。
current_timezone函数 current_timezone() 返回当前时区。
date函数 date(x) 返回日期和时间表达式中的日期部分。
date_format函数 date_format(x, format) 将timestamp类型的日期和时间表达式转化为指定格式的日期和时间表达式。
date_parse函数 date_parse(x, format) 将日期和时间字符串转换为指定格式的timestamp类型的日期和时间表达式。
from_iso8601_date函数 from_iso8601_date(x) 将ISO8601格式的日期表达式转化为date类型的日期表达式。
from_iso8601_timestamp函数 from_iso8601_timestamp(x) 将ISO8601格式的日期和时间表达式转化为timestamp类型的日期和时间表达式。
from_unixtime函数 from_unixtime(x) 将UNIX时间戳转化为无时区的timestamp类型的日期和时间表达式。
from_unixtime(x, time zone) 将UNIX时间戳转化为带时区的timestamp类型的日期和时间表达式。
from_unixtime(x, hours, minutes) 将UNIX时间戳转化为带时区的timestamp类型的日期和时间表达式,其中hoursminutes为时区偏移量。
localtime函数 localtime 返回本地时间。
localtimestamp函数 localtimestamp 返回本地日期和时间。
now函数 now() 返回当前日期和时间。

now函数等同于current_timestamp函数。

to_iso8601函数 to_iso8601(x) 将date类型或timestamp类型的日期和时间表达式转换为ISO8601格式的日期和时间表达式。
to_unixtime函数 to_unixtime(x) 将timestamp类型的日期和时间表达式转化成UNIX时间戳。
日期和时间提取函数 day函数 day(x) 提取日期和时间表达式中的天数,按月计算。

day函数等同于day_of_month函数。

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

day_of_month函数等同于day函数。

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

day_of_week函数等同于dow函数。

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

day_of_year函数等同于doy函数。

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

dow函数等同于day_of_week函数。

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

doy函数等同于day_of_year函数。

extract函数 extract(field from x) 通过指定的field,提取日期和时间表达式中的日期或时间部分。
hour函数 hour(x) 提取日期和时间表达式中的小时数,按24小时制计算。
minute函数 minute(x) 提取日期和时间表达式中的分钟数。
month函数 month(x) 提取日期和时间表达式中的月份。
quarter函数 quarter(x) 计算目标日期所属的季度。
second函数 second(x) 提取日期和时间表达式中的秒数。
timezone_hour函数 timezone_hour(x) 计算时区的小时偏移量。
timezone_minute函数 timezone_minute(x) 计算时区的分钟偏移量。
week函数 week(x) 计算目标日期是在一年中的第几周。

week函数等同于week_of_year函数。

week_of_year函数 week_of_year(x) 计算目标日期是在一年中的第几周。

week_of_year函数等同于week函数。

year函数 year(x) 提取目标日期中的年份。
year_of_week函数 year_of_week(x) 提取目标日期在ISO周日历中的年份。

year_of_week函数等同于yow函数。

yow函数 yow(x) 提取目标日期在ISO周日历中的年份。

yow函数等同于year_of_week函数。

时间间隔函数 date_trunc函数 date_trunc(unit, x) 根据您指定的时间单位截断日期和时间表达式,并按照毫秒、秒、分钟,小时、日、月或年对齐。
date_add函数 date_add(unit, N, x) x上加上N个时间单位(unit)。
date_diff函数 date_diff(unit, x, y) 返回两个时间表达式之间的时间差值,例如计算xy之间相差几个时间单位(unit)。
时序补全函数 time_series函数 time_series(x, window, format, padding_data) 补全您查询时间窗口内缺失的数据。

current_date函数

current_date函数用于返回当前日期,格式为YYYY-MM-DD。

语法

current_date

返回值类型

date类型。

示例

查询昨天的日志。

  • 查询和分析语句
    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_date)
      AND __time__ > to_unixtime(date_add('day', -1, current_date))
  • 查询和分析结果current_date

current_time函数

current_time函数用于返回当前时间和时区,格式为HH:MM:SS.Ms Time_zone。

语法

current_time

返回值类型

time类型。

示例

查询当前时间和时区。

  • 查询和分析语句
    * | select current_time
  • 查询和分析结果current_time

current_timestamp函数

current_timestamp函数用于返回当前日期、时间和时区,格式为YYYY-MM-DD HH:MM:SS.Ms Time_zone。

语法

current_timestamp

返回值类型

timestamp类型。

示例

查询昨天的日志。

  • 查询和分析语句
    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_timestamp)
      AND __time__ > to_unixtime(date_add('day', -1, current_timestamp))
  • 查询和分析结果current_date

current_timezone函数

current_timezone函数用于返回当前时区。

语法

current_timezone()

返回值类型

varchar类型。

示例

查询当前的时区。

  • 查询和分析语句
    * | select current_timezone()
  • 查询和分析结果current_timezone

date函数

date函数用于提取日期和时间表达式中的日期部分。date函数等同于cast(x as date)。更多信息,请参见类型转换函数

语法

date(x)

参数说明

参数 说明
x 参数值为date、timestamp类型。

返回值类型

date类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用date函数提取日期部分。

  • 查询和分析语句
    * | SELECT current_timestamp, date(current_timestamp)
  • 查询和分析结果date

date_format函数

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

语法

date_format(x, format)

参数说明

参数 说明
x 参数值为timestamp类型的日期和时间表达式。
format 日期和时间表达式的转换格式。更多信息,请参见format说明

返回值类型

varchar类型。

示例

计算Nginx请求状态及数量,并根据时间顺序展示。首先通过date_trunc函数将日志时间按照分钟对齐,再使用date_format函数转换为%H:%i格式,然后计算每分钟内每个状态码对应的请求数量,并以流图展示查询和分析结果。

  • 查询和分析语句
    * |
    SELECT
      date_format(date_trunc('minute', __time__), '%H:%i') AS time,
      COUNT(1) AS count,
      status
    GROUP BY
      time,
      status
    ORDER BY
      time
  • 查询和分析结果date_format

date_parse函数

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

语法

date_parse(x, format)

参数说明

参数 说明
x 参数值为日期和时间字符串。
format 日期和时间表达式的转换格式。更多信息,请参见format说明

返回值类型

timestamp类型。

示例

StartTime字段值和EndTime字段值转换为timestamp类型,并计算两者的时间差。

  • 查询和分析语句
    *|
    SELECT
        date_parse(StartTime, '%Y-%m-%d %H:%i') AS "StartTime",
        date_parse(EndTime, '%Y-%m-%d %H:%i') AS "EndTime",
        date_diff('hour', StartTime, EndTime) AS "时间差(小时)"
  • 查询和分析结果 date_parse(

from_iso8601_date函数

from_iso8601_date函数用于将ISO8601格式的日期表达式转化为date类型的日期表达式,格式为YYYY-MM-DD。

语法

from_iso8601_date(x)

参数说明

参数 说明
x 参数值为ISO8601格式的日期表达式。

返回值类型

date类型。

示例

time字段的值转换为date类型的日期表达式。

  • 字段样例
    time:2020-05-03
  • 查询和分析语句
    * | select from_iso8601_date(time)
  • 查询和分析结果from_iso8601_date

from_iso8601_timestamp函数

from_iso8601_timestamp函数用于将ISO8601格式的日期和时间表达式转化为timestamp类型的日期和时间表达式,格式为YYYY-MM-DD HH:MM:SS.Ms Time_zone。

语法

from_iso8601_timestamp(x)

参数说明

参数 说明
x 参数值为ISO8601格式的日期和时间表达式。

返回值类型

timestamp类型。

示例

time字段的值转换为timestamp类型的日期和时间表达式。

  • 字段样例
    time:2020-05-03T17:30:08
  • 查询和分析语句
    * | select from_iso8601_timestamp(time)
  • 查询和分析结果from_iso8601_timestamp

from_unixtime函数

from_unixtime函数用于将UNIX时间戳转化为timestamp类型的日期和时间表达式,格式为YYYY-MM-DD HH:MM:SS.Ms或YYYY-MM-DD HH:MM:SS.Ms Time_zone。

语法

  • 转化为无时区的timestamp类型的日期和时间表达式
    from_unixtime(x)
  • 转化为带时区的timestamp类型的日期和时间表达式
    from_unixtime(x,time zone)
  • 转化为带时区的timestamp类型的日期和时间表达式,其中hoursminutes为时区偏移量。
    from_unixtime(x, hours, minutes)

参数说明

参数 说明
x 参数值为UNIX时间戳。
time zone 时区,例如Asia/shanghai。
hours 时区的小时偏移量,例如+07、-09
minutes 时区的分钟偏移量,例如+30、-45。

返回值类型

timestamp类型。

示例

time字段的值转化为带时区的timestamp类型的日期和时间表达式。

  • 字段样例
    time:1626774758
  • 查询和分析语句
    * | select from_unixtime(time,'Asia/shanghai')
  • 查询和分析结果from_unixtime

localtime函数

localtime函数用于返回本地时间,格式为HH:MM:SS.Ms。

语法

localtime

返回值类型

time类型。

示例

查询本地时间。

  • 查询和分析语句
    * | select localtime
  • 查询和分析结果localtime

localtimestamp函数

localtimestamp函数用于返回本地的日期和时间,格式为YYYY-MM-DD HH:MM:SS.Ms Time_zone。

语法

localtimestamp

返回值类型

timestamp类型。

示例

查询昨天的日志。

  • 查询和分析语句
    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(localtimestamp)
      AND __time__ > to_unixtime(date_add('day', -1, localtimestamp))
  • 查询和分析结果current_date

now函数

now函数用于返回当前日期和时间,格式为YYYY-MM-DD HH:MM:SS.Ms Time_zone。now函数等同于current_timestamp函数。

语法

now()

返回值类型

timestamp类型。

示例

查询昨天的日志。

  • 查询和分析语句
    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(now())
      AND __time__ > to_unixtime(date_add('day', -1, now()))
  • 查询和分析结果current_date

to_iso8601函数

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

语法

to_iso8601(x)

参数说明

参数 说明
x 参数值为date、timestamp类型。

返回值类型

varchar类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用to_iso8601函数将当前的日期和时间表达式转换为ISO8601格式的日期和时间表达式。

  • 查询和分析语句
    * | select to_iso8601(current_timestamp) AS ISO8601
  • 查询和分析结果to_iso8601

to_unixtime函数

to_unixtime函数用于将timestamp类型的日期和时间表达式转化成UNIX时间戳。

语法

to_unixtime(x)

参数说明

参数 说明
x 参数值为timestamp类型的日期和时间表达式。

返回值类型

double类型。

示例

查询昨天的日志。

  • 查询和分析语句
    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(now())
      AND __time__ > to_unixtime(date_add('day', -1, now()))
  • 查询和分析结果current_date

day函数

day函数用于提取日期和时间表达式中的天数,按月计算。day函数等同于day_of_month函数。

语法

day(x)

参数说明

参数 说明
x 参数值为timestamp、date类型。

返回值类型

bigint类型。

示例

使用current_date函数获取当前日期,然后使用day函数提取当前日期为本月的第几天。

  • 查询和分析语句
    * | SELECT current_date, day(current_date)
  • 查询和分析结果day

day_of_month函数

day_of_month函数用于提取日期和时间表达式中的天数,按月计算。day_of_month函数等同于day函数。

语法

day_of_month(x)

参数说明

参数 说明
x 参数值为timestamp、date类型。

返回值类型

bigint类型。

示例

使用current_date函数获取当前日期,然后使用day_of_month函数提取当前日期为本月的第几天。

  • 查询和分析语句
    * | SELECT current_date, day_of_month(current_date)
  • 查询和分析结果day

day_of_week函数

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

语法

day_of_week(x)

参数说明

参数 说明
x 参数值为timestamp、date类型。

返回值类型

bigint类型。

示例

使用current_date函数获取当前日期,然后使用day_of_week函数提取当前日期为本周的第几天。

  • 查询和分析语句
    * | SELECT current_date, day_of_week(current_date)
  • 查询和分析结果day_of_week

day_of_year函数

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

语法

day_of_year(x)

参数说明

参数 说明
x 参数值为timestamp、date类型。

返回值类型

bigint类型。

示例

使用current_date函数获取当前日期,然后使用day_of_year函数提取当前日期为本年的第几天。

  • 查询和分析语句
    * | SELECT current_date, day_of_year(current_date)
  • 查询和分析结果day_of_year

dow函数

dow函数用于提取日期和时间表达式中的天数,按周计算。dow函数等同于day_of_week函数。

语法

dow(x)

参数说明

参数 说明
x 参数值为timestamp、date类型。

返回值类型

bigint类型。

示例

使用current_date函数获取当前日期,然后使用dow函数提取当前日期为本周的第几天。

  • 查询和分析语句
    * | SELECT current_date, dow(current_date)
  • 查询和分析结果day_of_week

doy函数

doy函数用于提取日期和时间表达式中的天数,按年计算。doy函数等同于day_of_year函数。

语法

doy(x)

参数说明

参数 说明
x 参数值为timestamp、date类型。

返回值类型

bigint类型。

示例

使用current_date函数获取当前日期,然后使用doy函数提取当前日期为本年的第几天。

  • 查询和分析语句
    * | SELECT current_date, doy(current_date)
  • 查询和分析结果day_of_year

extract函数

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

语法

extract(field from x)

参数说明

参数 说明
field 取值为year、quarter、month、week、day、day_of_month、day_of_week、dow、day_of_year、doy、year_of_week、yow、hour、minute、second、timezone_hour、timezone_minute。
x 参数值为date、time、timestamp、interval (actual varchar(9)) 类型。

返回值类型

bigint类型。

示例

使用current_date函数获取当前日期,然后使用extract函数提取当前日期中的年份。

  • 查询和分析语句
    * | SELECT extract(year from current_date)
  • 查询和分析结果extract

hour函数

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

语法

hour(x)

参数说明

参数 说明
x 参数值为timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用hour函数提取当前时间的小时数。

  • 查询和分析语句
    * | SELECT current_timestamp, hour(current_timestamp)
  • 查询和分析结果hour

minute函数

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

语法

minute(x)

参数说明

参数 说明
x 参数值为timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用minute函数提取当前时间的分钟数。

  • 查询和分析语句
    * | SELECT current_timestamp, minute(current_timestamp)
  • 查询和分析结果minute

month函数

month函数用于提取日期和时间表达式中的月份。

语法

month(x)

参数说明

参数 说明
x 参数值为date、timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用month函数提取当前日期所属的月份。

  • 查询和分析语句
    * | SELECT current_timestamp, month(current_timestamp)
  • 查询和分析结果month

quarter函数

quarter函数用于返回日期所属的季度。

语法

quarter(x)

参数说明

参数 说明
x 参数值为date、timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用quarter函数计算当前日期所属的季度。

  • 查询和分析语句
    * | SELECT current_timestamp,quarter(current_timestamp)
  • 查询和分析结果quarter

second函数

second函数用于提取日期和时间表达式中的秒数。

语法

second(x)

参数说明

参数 说明
x 参数值为timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用second函数提取当前时间的秒数。

  • 查询和分析语句
    * | SELECT current_timestamp,second(current_timestamp)
  • 查询和分析结果second

timezone_hour函数

timezone_hour函数用于计算时区的小时偏移量。

语法

timezone_hour(x)

参数说明

参数 说明
x 参数值为timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用timezone_hour函数计算当前时间所属时区的小时偏移量。

  • 查询和分析语句
    * | SELECT current_timestamp, timezone_hour(current_timestamp)
  • 查询和分析结果timezone_hour

timezone_minute函数

timezone_minute函数用于计算时区的分钟偏移量。

语法

timezone_minute(x)

参数说明

参数 说明
x 参数值为timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用timezone_minute函数计算当前时间所属时区的分钟偏移量。

  • 查询和分析语句
    * | SELECT current_timestamp,timezone_minute(current_timestamp)
  • 查询和分析结果timezone_minute

week函数

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

语法

week(x)

参数说明

参数 说明
x 参数值为date、timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用week函数计算当前日期是一年中的第几周。

  • 查询和分析语句
    * | SELECT current_timestamp, week(current_timestamp)
  • 查询和分析结果week

week_of_year函数

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

语法

week_of_year(x)

参数说明

参数 说明
x 参数值为date、timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用week_of_year函数计算当前日期是一年中的第几周。

  • 查询和分析语句
    * | SELECT current_timestamp, week_of_year(current_timestamp)
  • 查询和分析结果week

year函数

year函数用于提取目标日期中的年份。

语法

year(x)

参数说明

参数 说明
x 参数值为date、timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用year函数提取当前日期中的年份。

  • 查询和分析语句
    * | SELECT current_timestamp,year(current_timestamp)
  • 查询和分析结果year

year_of_week函数

year_of_week函数用于返回目标日期在ISO周日历中的年份。year_of_week函数等同于yow函数。

语法

year_of_week(x)

参数说明

参数 说明
x 参数值为date、timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用year_of_week函数返回当前日期在ISO周日历中的年份。

  • 查询和分析语句
    * | SELECT current_timestamp,year_of_week(current_timestamp)
  • 查询和分析结果year_of_week

yow函数

yow函数用于返回目标日期在ISO周日历中的年份。yow函数等同于year_of_week函数。

语法

yow(x)

参数说明

参数 说明
x 参数值为date、timestamp类型。

返回值类型

bigint类型。

示例

使用current_timestamp函数获取当前日期和时间,然后使用yow函数返回当前日期在ISO周日历中的年份。

  • 查询和分析语句
    * | SELECT current_timestamp, yow(current_timestamp)
  • 查询和分析结果year_of_week

date_trunc函数

date_trunc函数会根据您指定的时间单位截断日期和时间表达式,并按照毫秒、秒、分钟,小时、日、月或年对齐。该函数常用于需要按照时间进行统计分析的场景。

语法

date_trunc(unit, x)

参数说明

参数 说明
unit 时间单位,取值为millisecond、second、minute、hour、day、week、month、quarter、year。更多信息,请参见unit说明
x 参数值为日期和时间表达式。
说明 date_trunc函数只能按照固定的时间间隔统计(例如每分钟、每小时等)。如果您需要按照灵活的时间维度统计,请使用数学取模方法进行分组,例如统计每5分钟的数据。
* | SELECT count(1) AS pv,  __time__ - __time__ %300 AS time GROUP BY time LIMIT 100

返回值类型

与参数值的类型一致。

示例

按照每分钟的时间粒度计算请求时间的平均值,并按照时间进行分组和排序。

  • 查询和分析语句
    * |
    SELECT
      date_trunc('minute', __time__) AS time,
      truncate (avg(request_time)) AS avg_time,
      current_date AS date
    GROUP BY
      time
    ORDER BY
      time DESC
    LIMIT
      100
  • 查询和分析结果date_trunc

date_add函数

date_add函数用于在日期或时间中添加或减去指定的时间间隔。

语法

date_add(unit, n, x)

参数说明

参数 说明
unit 时间单位,取值为millisecond、second、minute、hour、day、week、month、quarter、year。更多信息,请参见unit说明
n 时间间隔。
x 参数值为timestamp类型日期和时间表达式。

返回值类型

timestamp类型。

示例

查询昨天的日志。

  • 查询和分析语句
    * |
    SELECT
      *
    FROM  log
    WHERE
      __time__ < to_unixtime(current_date)
      AND __time__ > to_unixtime(date_add('day', -1, current_date))
  • 查询和分析结果current_date

date_diff函数

date_diff函数用于计算两个日期或时间之间的差值。

语法

date_diff(unit, x, y)

参数说明

参数 说明
unit 时间单位,取值为millisecond、second、minute、hour、day、week、month、quarter、year。更多信息,请参见unit说明
x 参数值为timestamp类型日期和时间表达式。
y 参数值为timestamp类型日期和时间表达式。

返回值类型

bigint类型。

示例

通过UsageStartTime字段和UsageEndTime字段计算服务器使用的总时长。

  • 查询和分析语句
    * | SELECT  date_diff('hour', UsageStartTime, UsageEndTime) AS "时间差(小时)"
  • 查询和分析结果date_diff

time_series函数

time_series函数用于补全您查询时间窗口内缺失的数据。
注意 time_series函数必须搭配GROUP BY语法和ORDER BY语法使用,且ORDER BY语法不支持DESC排序方式。

语法

time_series(x, window_time, format, padding_data)

参数说明

参数 说明
x 时间列,例如__time__。时间列的值为long类型或timestamp类型。
window_time 窗口大小,单位为s(秒)、m(分)、h(小时)、d(天)。例如2h、5m、3d。
format 返回结果的时间格式。更多信息,请参见format说明
padding_data 补全的内容。包括:
  • 0:将缺失的值设置为0。
  • null:将缺失的值设置为null。
  • last:将缺失的值设置了上一个时间点对应的值。
  • next:将缺失的值设置了下一个时间点对应的值。
  • avg:将缺失的值设置为前后两个时间点的平均值。

返回值类型

bigint类型。

示例

按照两个小时的时间粒度进行数据补全,将缺失的值设置为0。

  • 查询和分析语句
    * | select time_series(__time__, '2h', '%Y-%m-%d %H:%i:%s', '0')  as time, count(*) as num from log group by time order by time                        
  • 查询和分析结果时间补全函数示例图

format说明

format 说明
%a 星期的缩写。例如Sun、Sat。
%b 月份的缩写。例如Jan、Dec。
%c 月份。数值类型,取值范围为1~12。
%D 每月的第几天。需加上后缀,例如0th、1st、2nd、3rd。
%d 每月的第几天。十进制格式,取值范围为01~31。
%e 每月的第几天。十进制格式,取值范围为1~31。
%H 小时,24小时制。
%h 小时,12小时制。
%I 小时,12小时制。
%i 分钟。数值类型,取值范围为00~59。
%j 每年的第几天。取值范围为001~366。
%k 小时。取值范围为0~23。
%l 小时。取值范围为1~12。
%M 月份的英文表达,例如January、December。
%m 月份。数值格式,取值范围为01~12。
%p AM、PM。
%r 时间。12小时制,格式为hh:mm:ss AM/PM
%S 秒。取值范围为00~59。
%s 秒。取值范围为00~59。
%T 时间。24小时制,格式为hh:mm:ss
%V 每年的第几周,星期日是一周的第一天。取值范围为01~53。
%v 每年的第几周,星期一是一周的第一天。取值范围为01~53。
%W 星期几的名称。例如Sunday、Saturday。
%w 一周的第几天,星期日为第0天。
%Y 4位数的年份。例如2020。
%y 2位数的年份。例如20。
%% %的转义字符。

unit说明

unit 说明
millisecond 毫秒
second
minute 分钟
hour 小时
day
week
month
quarter 季度
year