日志服务提供时间函数、日期函数、日期和时间提取函数、时间间隔函数和时序补全函数,支持对日志中的日期和时间进行格式转换,分组聚合等处理。本文介绍日期和时间函数的基本语法及示例。
日期和时间函数概览
日志服务支持如下日期和时间函数。
| 函数类型 | 函数名称 | 语法 | 说明 | 支持SQL | 支持SPL | 
| 日期和时间函数 | current_date | 返回当前日期。 | √ | × | |
| current_time | 返回当前时间和时区。 | √ | × | ||
| current_timestamp | 返回当前日期、时间和时区。 | √ | × | ||
| current_timezone() | 返回当前时区。 | √ | × | ||
| date(x) | 返回日期和时间表达式中的日期部分。 | √ | × | ||
| date_format(x, format) | 将timestamp类型的日期和时间表达式转化为指定格式的日期和时间表达式。 | √ | √ | ||
| date_parse(x, format) | 将日期和时间字符串转换为指定格式的timestamp类型的日期和时间表达式。 | √ | √ | ||
| from_iso8601_date(x) | 将ISO8601格式的日期表达式转化为date类型的日期表达式。 | √ | × | ||
| from_iso8601_timestamp(x) | 将ISO8601格式的日期和时间表达式转化为timestamp类型的日期和时间表达式。 | √ | × | ||
| from_unixtime(x) | 将UNIX时间戳转化为无时区的timestamp类型的日期和时间表达式。 | √ | √ | ||
| from_unixtime(x, time zone) | 将UNIX时间戳转化为带时区的timestamp类型的日期和时间表达式。 | √ | × | ||
| from_unixtime(x, hours, minutes) | 将UNIX时间戳转化为带时区的timestamp类型的日期和时间表达式,其中hours和minutes为时区偏移量。 | √ | × | ||
| localtime | 返回本地时间。 | √ | × | ||
| localtimestamp | 返回本地日期和时间。 | √ | × | ||
| now() | 返回当前日期和时间。 now函数等同于current_timestamp函数。 | √ | × | ||
| to_iso8601(x) | 将date类型或timestamp类型的日期和时间表达式转换为ISO8601格式的日期和时间表达式。 | √ | × | ||
| to_unixtime(x) | 将timestamp类型的日期和时间表达式转化成UNIX时间戳。 | √ | √ | ||
| 日期和时间提取函数 | day(x) | 提取日期和时间表达式中的天数,按月计算。 day函数等同于day_of_month函数。 | √ | × | |
| day_of_month(x) | 提取日期和时间表达式中的天数,按月计算。 day_of_month函数等同于day函数。 | √ | × | ||
| day_of_week(x) | 提取日期和时间表达式中的天数,按周计算。 day_of_week函数等同于dow函数。 | √ | √ | ||
| day_of_year(x) | 提取日期和时间表达式中的天数,按年计算。 day_of_year函数等同于doy函数。 | √ | √ | ||
| dow(x) | 提取日期和时间表达式中的天数,按周计算。 dow函数等同于day_of_week函数。 | √ | √ | ||
| doy(x) | 提取日期和时间表达式中的天数,按年计算。 doy函数等同于day_of_year函数。 | √ | √ | ||
| extract(field from x) | 通过指定的field,提取日期和时间表达式中的日期或时间部分。 | √ | × | ||
| hour(x) | 提取日期和时间表达式中的小时数,按24小时制计算。 | √ | √ | ||
| minute(x) | 提取日期和时间表达式中的分钟数。 | √ | √ | ||
| month(x) | 提取日期和时间表达式中的月份。 | √ | √ | ||
| quarter(x) | 计算目标日期所属的季度。 | √ | √ | ||
| second(x) | 提取日期和时间表达式中的秒数。 | √ | √ | ||
| timezone_hour(x) | 计算时区的小时偏移量。 | √ | × | ||
| timezone_minute(x) | 计算时区的分钟偏移量。 | √ | × | ||
| week(x) | 计算目标日期是在一年中的第几周。 week函数等同于week_of_year函数。 | √ | × | ||
| week_of_year(x) | 计算目标日期是在一年中的第几周。 week_of_year函数等同于week函数。 | √ | × | ||
| year(x) | 提取目标日期中的年份。 | √ | √ | ||
| year_of_week(x) | 提取目标日期在ISO周日历中的年份。 year_of_week函数等同于yow函数。 | √ | √ | ||
| yow(x) | 提取目标日期在ISO周日历中的年份。 yow函数等同于year_of_week函数。 | √ | √ | ||
| 时间间隔函数 | date_trunc(unit, x) | 根据您指定的时间单位截断日期和时间表达式,并按照毫秒、秒、分钟,小时、日、月或年对齐。 | √ | × | |
| date_add(unit, N, x) | 在x上加上N个时间单位(unit)。 | √ | √ | ||
| date_diff(unit, x, y) | 返回两个时间表达式之间的时间差值,例如计算x和y之间相差几个时间单位(unit)。 | √ | √ | ||
| 时序补全函数 | 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_time函数
current_time函数用于返回当前时间和时区,格式为HH:MM:SS.Ms Time_zone。
语法
current_time返回值类型
time类型。
示例
查询当前时间和时区。
- 查询和分析语句(调试) - * | select 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_timezone函数
current_timezone函数用于返回当前时区。
语法
current_timezone()返回值类型
varchar类型。
示例
查询当前的时区。
- 查询和分析语句(调试) - * | select 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_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_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 "时间差(小时)"
- 查询和分析结果  
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_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_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类型的日期和时间表达式,其中hours和minutes为时区偏移量。 - 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')
- 查询和分析结果  
localtime函数
localtime函数用于返回本地时间,格式为HH:MM:SS.Ms。
语法
localtime返回值类型
time类型。
示例
查询本地时间。
- 查询和分析语句(调试) - * | select 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))
- 查询和分析结果  
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()))
- 查询和分析结果  
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_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()))
- 查询和分析结果  
day函数
day函数用于提取日期和时间表达式中的天数,按月计算。day函数等同于day_of_month函数。
语法
day(x)参数说明
| 参数 | 说明 | 
| x | 参数值为timestamp、date类型。 | 
返回值类型
bigint类型。
示例
使用current_date函数获取当前日期,然后使用day函数提取当前日期为本月的第几天。
- 查询和分析语句(调试) - * | SELECT current_date, day(current_date)
- 查询和分析结果  
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_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_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)
- 查询和分析结果  
dow函数
dow函数用于提取日期和时间表达式中的天数,按周计算。dow函数等同于day_of_week函数。
语法
dow(x)参数说明
| 参数 | 说明 | 
| x | 参数值为timestamp、date类型。 | 
返回值类型
bigint类型。
示例
使用current_date函数获取当前日期,然后使用dow函数提取当前日期为本周的第几天。
- 查询和分析语句(调试) - * | SELECT current_date, dow(current_date)
- 查询和分析结果  
doy函数
doy函数用于提取日期和时间表达式中的天数,按年计算。doy函数等同于day_of_year函数。
语法
doy(x)参数说明
| 参数 | 说明 | 
| x | 参数值为timestamp、date类型。 | 
返回值类型
bigint类型。
示例
使用current_date函数获取当前日期,然后使用doy函数提取当前日期为本年的第几天。
- 查询和分析语句(调试) - * | SELECT current_date, doy(current_date)
- 查询和分析结果  
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)
- 查询和分析结果  
hour函数
hour函数用于提取日期和时间表达式中的小时数,按24小时制计算。
语法
hour(x)参数说明
| 参数 | 说明 | 
| x | 参数值为timestamp类型。 | 
返回值类型
bigint类型。
示例
使用current_timestamp函数获取当前日期和时间,然后使用hour函数提取当前时间的小时数。
- 查询和分析语句(调试) - * | SELECT current_timestamp, hour(current_timestamp)
- 查询和分析结果  
minute函数
minute函数用于提取日期和时间表达式中的分钟数。
语法
minute(x)参数说明
| 参数 | 说明 | 
| x | 参数值为timestamp类型。 | 
返回值类型
bigint类型。
示例
使用current_timestamp函数获取当前日期和时间,然后使用minute函数提取当前时间的分钟数。
- 查询和分析语句(调试) - * | SELECT current_timestamp, minute(current_timestamp)
- 查询和分析结果  
month函数
month函数用于提取日期和时间表达式中的月份。
语法
month(x)参数说明
| 参数 | 说明 | 
| x | 参数值为date、timestamp类型。 | 
返回值类型
bigint类型。
示例
使用current_timestamp函数获取当前日期和时间,然后使用month函数提取当前日期所属的月份。
- 查询和分析语句(调试) - * | SELECT current_timestamp, month(current_timestamp)
- 查询和分析结果  
quarter函数
quarter函数用于返回日期所属的季度。
语法
quarter(x)参数说明
| 参数 | 说明 | 
| x | 参数值为date、timestamp类型。 | 
返回值类型
bigint类型。
示例
使用current_timestamp函数获取当前日期和时间,然后使用quarter函数计算当前日期所属的季度。
- 查询和分析语句(调试) - * | SELECT current_timestamp,quarter(current_timestamp)
- 查询和分析结果  
second函数
second函数用于提取日期和时间表达式中的秒数。
语法
second(x)参数说明
| 参数 | 说明 | 
| x | 参数值为timestamp类型。 | 
返回值类型
bigint类型。
示例
使用current_timestamp函数获取当前日期和时间,然后使用second函数提取当前时间的秒数。
- 查询和分析语句(调试) - * | SELECT current_timestamp,second(current_timestamp)
- 查询和分析结果  
timezone_hour函数
timezone_hour函数用于计算时区的小时偏移量。
语法
timezone_hour(x)参数说明
| 参数 | 说明 | 
| x | 参数值为timestamp类型。 | 
返回值类型
bigint类型。
示例
使用current_timestamp函数获取当前日期和时间,然后使用timezone_hour函数计算当前时间所属时区的小时偏移量。
- 查询和分析语句(调试) - * | SELECT current_timestamp, timezone_hour(current_timestamp)
- 查询和分析结果  
timezone_minute函数
timezone_minute函数用于计算时区的分钟偏移量。
语法
timezone_minute(x)参数说明
| 参数 | 说明 | 
| x | 参数值为timestamp类型。 | 
返回值类型
bigint类型。
示例
使用current_timestamp函数获取当前日期和时间,然后使用timezone_minute函数计算当前时间所属时区的分钟偏移量。
- 查询和分析语句(调试) - * | SELECT current_timestamp,timezone_minute(current_timestamp)
- 查询和分析结果  
week函数
week函数用于计算目标日期是在一年中的第几周。week函数等同于week_of_year函数。
语法
week(x)参数说明
| 参数 | 说明 | 
| x | 参数值为date、timestamp类型。 | 
返回值类型
bigint类型。
示例
使用current_timestamp函数获取当前日期和时间,然后使用week函数计算当前日期是一年中的第几周。
- 查询和分析语句(调试) - * | SELECT current_timestamp, week(current_timestamp)
- 查询和分析结果  
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)
- 查询和分析结果  
year函数
year函数用于提取目标日期中的年份。
语法
year(x)参数说明
| 参数 | 说明 | 
| x | 参数值为date、timestamp类型。 | 
返回值类型
bigint类型。
示例
使用current_timestamp函数获取当前日期和时间,然后使用year函数提取当前日期中的年份。
- 查询和分析语句(调试) - * | SELECT current_timestamp,year(current_timestamp)
- 查询和分析结果  
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)
- 查询和分析结果  
yow函数
yow函数用于返回目标日期在ISO周日历中的年份。yow函数等同于year_of_week函数。
语法
yow(x)参数说明
| 参数 | 说明 | 
| x | 参数值为date、timestamp类型。 | 
返回值类型
bigint类型。
示例
使用current_timestamp函数获取当前日期和时间,然后使用yow函数返回当前日期在ISO周日历中的年份。
- 查询和分析语句(调试) - * | SELECT current_timestamp, yow(current_timestamp)
- 查询和分析结果  
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_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_timestamp) AND __time__ > to_unixtime(date_add('day', -1, current_timestamp))
- 查询和分析结果  
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 "时间差(小时)"
- 查询和分析结果  
time_series函数
time_series函数用于补全您查询时间窗口内缺失的数据。
time_series函数必须搭配GROUP BY语法和ORDER BY语法使用,且ORDER BY语法不支持DESC排序方式。如果是子查询模式,time_series 外层的SQL不支持加GROUP BY和ORDER BY。
语法
time_series(x, window_time, format, padding_data)参数说明
| 参数 | 说明 | 
| x | 时间列,例如 | 
| window_time | 窗口大小,单位为s(秒)、m(分)、h(小时)、d(天)。例如2h、5m、3d。 | 
| format | 返回结果的时间格式。更多信息,请参见format说明。 | 
| padding_data | 补全的内容。包括: 
 | 
返回值类型
varchar类型。
示例
按照两个小时的时间粒度进行数据补全,将缺失的值设置为0。
- 查询和分析语句(调试) - * | select * from (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) a limit 100
- 查询和分析结果  
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 | 分钟。数值类型,取值范围为00~59。 | 
| %j | 每年的第几天。取值范围为001~366。 | 
| %k | 小时。取值范围为0~23。 | 
| %l | 小时。取值范围为1~12。 | 
| %M | 月份的英文表达,例如January、December。 | 
| %m | 月份。数值格式,取值范围为01~12。 | 
| %p | AM、PM。 | 
| %r | 时间。12小时制,格式为 | 
| %S | 秒。取值范围为00~59。 | 
| %s | 秒。取值范围为00~59。 | 
| %f | 微秒。取值范围为000000~999999。 | 
| %T | 时间。24小时制,格式为 | 
| %v | 每年的第几周,星期一是一周的第一天。取值范围为01~53。 | 
| %W | 星期几的名称。例如Sunday、Saturday。 | 
| %Y | 4位数的年份。例如2020。 | 
| %y | 2位数的年份。例如20。 | 
| %% | %的转义字符。 | 
unit说明
| unit | 说明 | 
| millisecond | 毫秒 | 
| second | 秒 | 
| minute | 分钟 | 
| hour | 小时 | 
| day | 天 | 
| week | 周 | 
| month | 月 | 
| quarter | 季度 | 
| year | 年 |