You need to enable JavaScript to run this app.
文档中心
日志服务

日志服务

复制全文
下载 pdf
SQL 函数
日期和时间函数
复制全文
下载 pdf
日期和时间函数
本文介绍日志服务支持的日期和时间函数语法及常见场景的使用示例。​
函数列表​
说明​
  • 日志服务中的日志时间戳精确到毫秒,所以配置时间格式(format)时可配置到毫秒级。​
  • 日志服务默认为每条日志添加元数据字段 __time__,该字段的值为 UNIX 时间戳格式,单位为毫秒。​
  • 在日志服务分析语句(SQL 语句)中,需要使用单引号('')包裹代表字符串的字符,无符号包裹或被双引号("")包裹的字符为字段名或列名。例如'time' 代表字符串,time 或 "time" 代表字段名或列名。​
​
函数类型​
函数名称​
语法​
说明​
日期和时间函数​
CURRENT_DATE​
查询当前日期。​
​
CURRENT_TIME​
查询当前时间和时区。​
​
CURRENT_TIMESTAMP​
查询当前日期、时间和时区。​
​
CURRENT_TIMEZONE()​
查询当前时区。​
​
DATE(KEY)​
提取日期和时间中的日期部分。​
​
DATE_FORMAT(KEY, format)​
将 Timestamp 类型的日期或时间转化为其他指定格式。​
​
DATE_PARSE(KEY, format)​
将日期和时间字符串转换为其他指定格式。​
​
FROM_ISO8601_DATE(KEY)​
将 ISO8601 格式的日期转化为 Date 类型的日期。​
​
FROM_ISO8601_TIMESTAMP(KEY)​
将 ISO8601 格式的日期和时间转化为 Timestamp 类型的日期和时间。​
​
FROM_UNIXTIME(KEY)​
将 UNIX 时间戳转化为无时区的 Timestamp 类型的日期和时间。​
​
​
FROM_UNIXTIME(KEY, time zone)​
将 UNIX 时间戳转化为带时区的 Timestamp 类型的日期和时间。​
​
​
FROM_UNIXTIME(KEY, hours, minutes)​
将 UNIX 时间戳转化为带时区的 Timestamp 类型的日期和时间,且支持设置时区偏移量。​
​
LOCALTIME​
查询当前的本地时间。​
​
LOCALTIMESTAMP​
查询当前的本地日期和时间。​
​
NOW()​
查询当前日期和时间。​
NOW 函数等同于 CURRENT_TIMESTAMP 函数。​
​
TO_ISO8601(KEY)​
将 Date 类型或 Timestamp 类型的日期和时间转换为 ISO8601 格式的日期和时间。​
​
TO_UNIXTIME(KEY)​
将 Timestamp 类型的日期和时间转化成 UNIX 时间戳。​
日期和时间提取函数​
DAY(KEY)​
​
提取日期和时间中的天数,以月为周期。​
DAY 函数等同于 DAY_OF_MONTH 函数。​
​
DAY_OF_MONTH(KEY)​
提取日期和时间中的天数,以月为周期。​
DAY_OF_MONTH 函数等同于 DAY 函数。​
​
DAY_OF_WEEK(KEY)​
提取日期和时间中的天数,以星期为周期。​
DAY_OF_WEEK 函数等同于 DOW 函数。​
​
DAY_OF_YEAR(KEY)​
提取日期和时间中的天数,以年为周期。​
DAY_OF_YEAR 函数等同于 DOY 函数。​
​
DOW(KEY)​
提取日期和时间中的天数,以星期为周期。​
DOW 函数等同于 DAY_OF_WEEK 函数。​
​
DOY(KEY)​
提取日期和时间中的天数,以年为周期。​
DOY 函数等同于 DAY_OF_YEAR 函数。​
​
EXTRACT(field from KEY)​
通过指定的 field,提取日期和时间中的日期或时间部分。​
​
HOUR(KEY)​
提取日期和时间中的小时数, 24 小时制。​
​
MINUTE(KEY)​
提取日期和时间中的分钟数。​
​
MONTH(KEY)​
提取日期和时间中的月份。​
​
QUARTER(KEY)​
返回日期所在季度。​
​
SECOND(KEY)​
提取日期和时间中的秒数。​
​
TIMEZONE_HOUR(KEY)​
计算时区的小时偏移量。​
​
TIMEZONE_MINUTE(KEY)​
计算时区的分钟偏移量。​
​
WEEK(KEY)​
计算目标日期是在一年中的第几周。​
WEEK 函数等同于 WEEK_OF_YEAR 函数。​
​
WEEK_OF_YEAR(KEY)​
计算目标日期是在一年中的第几周。​
WEEK_OF_YEAR 函数等同于 WEEK 函数。​
​
YEAR(KEY)​
提取日期和时间中的年份。​
​
YEAR_OF_WEEK(KEY)​
提取目标日期在 ISO 周日历中的年份。​
YEAR_OF_WEEK 函数等同于 YOW 函数。​
​
YOW(KEY)​
​
提取目标日期在 ISO 周日历中的年份。​
YOW 函数等同于 YEAR_OF_WEEK 函数。​
时间间隔函数​
DATE_ADD(unit, N, KEY)​
在日期和时间中增加或减去指定的时间间隔。​
​
DATE_DIFF(unit, KEY1, KEY2)​
计算两个日期或时间点之间的差值。​
​
​
DATE_TRUNC(unit, KEY)​
根据您指定的时间单位截断日期或时间,并按照毫秒、秒、分钟、小时、日、月或年对齐。支持解析的 UNIX 时间戳为秒级或者毫秒级。​
​
DATE_TRUNC_SEC(unit, KEY)​
根据您指定的时间单位截断日期或时间,并按照毫秒、秒、分钟、小时、日、月或年对齐。支持解析的 UNIX 时间戳为秒级。​
时序补全函数​
TIME_SERIES(KEY, window_time, format, padding_data)​
补全查询时间窗口内缺失的数据。​
​
CURRENT_DATE 函数​
CURRENT_DATE 函数用于查询当前日期。​
函数语法​
  • 语法格式​
  • ​
    CURRENT_DATE​
    ​
  • 返回值说明​
  • 返回值为 Date 类型,格式为 YYYY-MM-DD。​
函数示例​
  • 场景​
  • 查询当前日期。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_DATE​
    ​
  • 检索和分析结果​
  • ​​​
CURRENT_TIME 函数​
CURRENT_TIME 函数用于查询当前时间和时区。​
函数语法​
  • 语法格式​
  • ​
    CURRENT_TIME​
    ​
  • 返回值说明​
  • 返回值为 Time 类型,格式为 HH:MM:SS.Ms Time_zone。​
函数示例​
  • 场景​
  • 查询当前时间和时区。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIME​
    ​
  • 检索和分析结果​
  • ​​​
CURRENT_TIMESTAMP 函数​
CURRENT_TIMESTAMP 函数用于查询当前日期、时间和时区。​
函数语法​
  • 语法格式​
  • ​
    CURRENT_TIMESTAMP​
    ​
  • 返回值说明​
  • 返回值类型为 Timestamp 类型,格式为 YYYY-MM-DD HH:MM:SS.Ms Time_zone。​
函数示例​
  • 场景​
  • 查询当前日期、时间和时区。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP​
    ​
  • 检索和分析结果 ​
  • ​​​
CURRENT_TIMEZONE 函数​
CURRENT_TIMEZONE 函数用于查询当前时区。​
语法格式​
  • 语法格式​
  • ​
    CURRENT_TIMEZONE()​
    ​
  • 返回值说明​
  • 返回值为 Varchar 类型。​
函数示例​
  • 场景​
  • 查询当前的时区。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMEZONE()​
    ​
  • 检索和分析结果​
  • ​​​
DATE 函数​
DATE 函数用于提取日期和时间中的日期部分。​
函数语法​
  • 语法格式​
  • ​
    DATE(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Date、Timestamp 类型。​
    ​
  • 返回值说明​
  • 返回值为 Date 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 DATE 函数提取日期部分。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP AS timestamp, DATE(CURRENT_TIMESTAMP) AS date​
    ​
  • 检索和分析结果​
  • ​​​
DATE_FORMAT 函数​
DATE_FORMAT 函数用于将 Timestamp 类型的日期或时间转化为其他指定格式。​
函数语法​
  • 语法格式​
  • ​
    DATE_FORMAT(KEY, format)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp 类型。​
    format​
    转换格式。详细说明如下表所示。​
    ​
  • format 说明​
  • ​
    format​
    说明​
    E​
    星期的缩写。例如 Mon、Tues。​
    MMM​
    月份的缩写。例如 Jan、Feb。​
    M​
    月份。取值范围为 1~12。​
    dd​
    每个月的第几天。十进制格式,取值范围为 01~31。​
    d​
    每个月的第几天。十进制格式,取值范围为 1~31。​
    H​
    小时,24 小时制。​
    h​
    小时,12 小时制。​
    mm​
    分钟。取值范围为 00~59。​
    DDD​
    每年的第几天。取值范围为 001~366。​
    MMMM​
    月份的英文表达,例如 January、February。​
    MM​
    月份。取值范围为 01~12。​
    a​
    上午或下午,即 AM 或 PM。​
    hh:mm:ss a​
    12 小时制的时间,格式为 hh:mm:ss AM/PM。​
    ss​
    秒。取值范围为 00~59。​
    HH:mm:ss​
    24 小时制的时间,格式为 HH:mm:ss。​
    ww​
    将星期日作为一周的第一天时,ww 表示每年的第几周。取值范围为 01~53。​
    EEEE​
    星期几的名称。例如 Monday、Tuesday。​
    u​
    4 位数的年份。例如 2024。​
    Y​
    4 位数的年份。例如 2024。​
    y​
    4 位数的年份。例如 2024。​
    G​
    时代代号。例如 AD(公元后) 或 BC(公元前)。​
    L​
    一年中的月份(独立形式)。​
    F​
    每周过去了几天,例如周二为 1,表示本周过去了 1 天。​
    k​
    一天中的小时数。取值范围为 0~23。​
    K​
    上午或下午的小时数。取值范围为 0~11。​
    ​
  • 返回值说明​
  • 返回值为 Varchar 类型。​
函数示例​
  • 场景​
  • 按照 sli_time 字段值中的月份进行数据聚合。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    * | SELECT DATE_FORMAT(date_trunc('second', sli_time), 'yyyy-MM-dd HH') AS M GROUP BY M​
    ​
  • 检索和分析结果​
  • ​​​
DATE_PARSE 函数​
DATE_PARSE 函数用于将日期和时间字符串转换为其他指定格式。​
函数语法​
  • 语法格式​
  • ​
    DATE_PARSE(KEY, format)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为日期和时间字符串。​
    format​
    转换格式。详细说明如下表所示。​
    ​
  • 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小时制,格式为 hh:mm:ss AM/PM。​
    %S​
    秒,取值范围为 00 ~ 59。​
    %s​
    秒,取值范围为 00 ~ 59。​
    %f​
    毫秒,取值范围为 000 ~ 999。​
    %T​
    时间,24 小时制,格式为 hh:mm:ss。​
    %v​
    每年的第几周,星期一为每周的第一天,取值范围为 01 ~ 53。​
    %W​
    星期几的英文名称。例如 Sunday、Saturday。​
    %Y​
    4 位数的年份。例如 2024。​
    %y​
    2 位数的年份。例如 24。​
    %%​
    % 的转义字符。​
    ​
  • 返回值说明​
  • 返回值为 Timestamp 类型。​
函数示例​
  • 场景​
  • 将 time_str 字段值转换为 %Y-%m-%d %H:%i:%s 格式。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    *|SELECT DATE_PARSE(time_str, '%Y-%m-%d %H:%i:%s')​
    ​
  • 检索和分析结果​
  • ​​​
FROM_ISO8601_DATE 函数​
FROM_ISO8601_DATE 函数用于将 ISO8601 格式的日期转化为 Date 类型的日期。​
函数语法​
  • 语法格式​
  • ​
    FROM_ISO8601_DATE(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 ISO8601 格式。​
    ​
  • 返回值说明​
  • 返回值为 Date 类型,格式为YYYY-MM-DD。​
函数示例​
  • 场景​
  • 将字符串 2023-01-01 转换为 DATE 类型的日期。​
  • 检索和分析语句​
  • ​
    * | SELECT FROM_ISO8601_DATE('2023-01-01')​
    ​
  • 检索和分析结果​
  • ​​​
FROM_ISO8601_TIMESTAMP 函数​
FROM_ISO8601_TIMESTAMP 函数用于将 ISO8601 格式的日期和时间转化为 Timestamp 类型的日期和时间。​
函数语法​
  • 语法格式​
  • ​
    FROM_ISO8601_TIMESTAMP(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 ISO8601 格式。​
    ​
  • 返回值说明​
  • 返回值为 Timestamp 类型,格式为YYYY-MM-DD HH:MM:SS.Ms Time_zone。​
函数示例​
  • 场景​
  • 将字符串 2023-09-06T12:20:35 转换为 Timestamp 类型的日期和时间。​
  • 检索和分析语句​
  • ​
    * | SELECT FROM_ISO8601_TIMESTAMP('2023-09-06T12:20:35')​
    ​
  • 检索和分析结果​
  • ​​​
FROM_UNIXTIME 函数​
FROM_UNIXTIME 函数用于将 UNIX 时间戳转化为 Timestamp 类型的日期和时间。​
函数语法​
  • 语法格式​
  • 转化为无时区的 Timestamp 类型的日期和时间。​
  • ​
    FROM_UNIXTIME(KEY)​
    ​
  • 转化为带时区的 Timestamp 类型的日期和时间。​
  • ​
    FROM_UNIXTIME(KEY,time zone)​
    ​
  • 转化为带时区的 Timestamp 类型的日期和时间,且支持设置时区偏移量。​
  • ​
    FROM_UNIXTIME(KEY, hours, minutes)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 UNIX 时间戳。​
    time zone​
    时区,例如 Asia/shanghai。​
    hours​
    时区的小时偏移量,例如 +07、-09。​
    minutes​
    时区的分钟偏移量,例如 +30、-45。​
    ​
  • 返回值说明​
  • 返回值为 Timestamp 类型,格式为 YYYY-MM-DD HH:MM:SS.Ms 或 YYYY-MM-DD HH:MM:SS.Ms Time_zone 。​
函数示例​
  • 场景​
  • 将 __time__ 字段的值转化为带时区的 Timestamp 类型的日期和时间。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    * | SELECT FROM_UNIXTIME(__time__/1000,'Asia/shanghai')​
    ​
  • 检索和分析结果​
  • ​​​
LOCALTIME 函数​
LOCALTIME 函数用于查询当前的本地时间。​
函数语法​
  • 语法格式​
  • ​
    LOCALTIME​
    ​
  • 返回值说明​
  • 返回值为 Time 类型,格式为 HH:MM:SS.Ms。​
函数示例​
  • 场景​
  • 查询本地时间。​
  • 检索和分析语句​
  • ​
    * | SELECT LOCALTIME​
    ​
  • 检索和分析结果​
  • ​​​
LOCALTIMESTAMP 函数​
LOCALTIMESTAMP 函数用于查询当前的本地日期和时间。​
语法格式​
  • 语法格式​
  • ​
    LOCALTIMESTAMP​
    ​
  • 返回值说明​
  • 返回值为 Timestamp 类型,格式为YYYY-MM-DD HH:MM:SS.Ms。​
函数示例​
  • 场景​
  • 查询本地的日期和时间。​
  • 检索和分析语句​
  • ​
    * | SELECT LOCALTIMESTAMP​
    ​
  • 检索和分析结果​
  • ​​​
NOW 函数​
NOW 函数用于返回当前日期和时间。NOW 函数等同于 CURRENT_TIMESTAMP 函数。​
函数语法​
  • 语法格式​
  • ​
    NOW()​
    ​
  • 返回值说明​
  • 函数的返回值类型为 Timestamp 类型。格式为 YYYY-MM-DD HH:MM:SS.Ms Time_zone。​
函数示例​
  • 场景​
  • 查询当前日期和时间。​
  • 检索和分析语句​
  • ​
    * | SELECT NOW()​
    ​
  • 检索和分析结果​
  • ​​​
TO_ISO8601 函数​
TO_ISO8601 函数用于将 Date 类型或 Timestamp 类型的日期和时间转换为 ISO8601 格式的日期和时间。​
函数语法​
  • 语法格式​
  • ​
    TO_ISO8601(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Date、Timestamp 类型。​
    ​
  • 返回值说明​
  • 返回值为 Varchar 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 TO_ISO8601 函数将当前的日期和时间转换为 ISO8601 格式。​
  • 检索和分析语句​
  • ​
    * | SELECT TO_ISO8601(CURRENT_TIMESTAMP) AS ISO8601​
    ​
  • 检索和分析结果​
  • ​​​
TO_UNIXTIME 函数​
TO_UNIXTIME 函数用于将 Timestamp 类型的日期和时间转化成 UNIX 时间戳。​
函数语法​
  • 语法格式​
  • ​
    TO_UNIXTIME(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp 类型。​
    ​
  • 返回值说明​
  • 返回值为 Double 类型。​
函数示例​
  • 场景​
  • 查询当前时间对应的 UNIX 时间戳。​
  • 检索和分析语句​
  • ​
    * | SELECT TO_UNIXTIME(NOW())​
    ​
  • 检索和分析结果​
  • ​​​
DAY 函数​
DAY 函数用于提取日期和时间中的天数,以月为周期。DAY 函数等同于 DAY_OF_MONTH 函数。​
函数语法​
  • 语法格式​
  • ​
    DAY(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型,范围为1~31。​
函数示例​
  • 场景​
  • 使用 CURRENT_DATE 函数获取当前日期,然后使用 DAY 函数提取当前日期为本月的第几天。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_DATE, DAY(CURRENT_DATE)​
    ​
  • 检索和分析结果​
  • ​​​
DAY_OF_MONTH 函数​
DAY_OF_MONTH 函数用于提取日期和时间中的天数,以月为周期。DAY_OF_MONTH 函数等同于 DAY 函数。​
函数语法​
  • 语法格式​
  • ​
    DAY_OF_MONTH(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 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(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 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(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_DATE 函数获取当前日期,然后使用 DAY_OF_YEAR 函数提取当前日期为本年的第几天。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_DATE, DAY_OF_YEAR(CURRENT_DATE)​
    ​
  • 检索和分析结果​
  • ​​​
DOW 函数​
DOW 函数用于提取日期和时间中的天数,以星期为周期。DOW 函数等同于 DAY_OF_WEEK 函数。​
函数语法​
  • 语法格式​
  • ​
    DOW(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_DATE 函数获取当前日期,然后使用 DOW 函数提取当前日期为本周的第几天。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_DATE, DOW(CURRENT_DATE)​
    ​
  • 检索和分析结果​
  • ​​​
DOY 函数​
DOY 函数用于提取日期和时间中的天数,以年为周期。DOY 函数等同于 DAY_OF_YEAR 函数。​
函数语法​
  • 语法格式​
  • ​
    DOY(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_DATE 函数获取当前日期,然后使用 DOY 函数提取当前日期为本年的第几天。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_DATE, DOY(CURRENT_DATE)​
    ​
  • 检索和分析结果​
  • ​​​
EXTRACT 函数​
EXTRACT 函数通过指定的 field,提取日期和时间中的日期或时间部分。​
函数语法​
  • 语法格式​
  • ​
    EXTRACT(field from KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    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。​
    KEY​
    字段,表达式,其值为 Date、Time、Timestamp、interval (actual varchar(9)) 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_DATE 函数获取当前日期,然后使用 EXTRACT 函数提取当前日期中的年份。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_DATE, EXTRACT(year from CURRENT_DATE)​
    ​
  • 检索和分析结果​
  • ​​​
HOUR 函数​
HOUR 函数用于提取日期和时间中的小时数,24 小时制。​
函数语法​
  • 语法格式​
  • ​
    HOUR(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 HOUR 函数提取当前时间的小时数。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP, HOUR(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
MINUTE 函数​
MINUTE 函数用于提取日期和时间中的分钟数。​
函数语法​
  • 语法格式​
  • ​
    MINUTE(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 MINUTE 函数提取当前时间的分钟数。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP, MINUTE(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
MONTH 函数​
MONTH 函数用于提取日期和时间中的月份。​
函数语法​
  • 语法格式​
  • ​
    MONTH(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 MONTH 函数提取当前日期所属的月份。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP, MONTH(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
QUARTER 函数​
QUARTER 函数用于返回日期所在季度。​
函数语法​
  • 语法格式​
  • ​
    QUARTER(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型,例如 1 表示第一个季度。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 QUARTER 函数计算当前日期所在季度。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP, QUARTER(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
SECOND 函数​
SECOND 函数用于提取日期和时间中的秒数。​
函数语法​
  • 语法格式​
  • ​
    SECOND(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 SECOND 函数提取当前时间的秒数。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP,SECOND(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
TIMEZONE_HOUR 函数​
TIMEZONE_HOUR 函数用于计算时区的小时偏移量。​
函数语法​
  • 语法格式​
  • ​
    TIMEZONE_HOUR(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 TIMEZONE_HOUR 函数计算当前时间所属时区的小时偏移量。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP, TIMEZONE_HOUR(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
TIMEZONE_MINUTE 函数​
TIMEZONE_MINUTE 函数用于计算时区的分钟偏移量。​
函数语法​
  • 语法格式​
  • ​
    TIMEZONE_MINUTE(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 TIMEZONE_MINUTE 函数计算当前时间所属时区的分钟偏移量。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP,TIMEZONE_MINUTE(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
WEEK 函数​
WEEK 函数用于计算目标日期是在一年中的第几周。WEEK 函数等同于 WEEK_OF_YEAR 函数。​
函数语法​
  • 语法格式​
  • ​
    WEEK(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 WEEK 函数计算当前日期是一年中的第几周。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP, WEEK(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
WEEK_OF_YEAR 函数​
WEEK_OF_YEAR 函数用于计算目标日期是在一年中的第几周。WEEK_OF_YEAR 函数等同于 WEEK 函数。​
语法格式​
  • 语法格式​
  • ​
    WEEK_OF_YEAR(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用CURRENT_TIMESTAMP函数获取当前日期和时间,然后使用WEEK_OF_YEAR函数计算当前日期是一年中的第几周。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP, WEEK_OF_YEAR(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
YEAR 函数​
YEAR 函数用于提取日期和时间中的年份。​
函数语法​
  • 语法格式​
  • ​
    YEAR(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 YEAR 函数提取当前日期中的年份。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP,YEAR(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
YEAR_OF_WEEK 函数​
YEAR_OF_WEEK 函数用于返回目标日期在 ISO 周日历中的年份。YEAR_OF_WEEK 函数等同于 YOW 函数。​
函数语法​
  • 语法格式​
  • ​
    YEAR_OF_WEEK(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 YEAR_OF_WEEK 函数返回当前日期在ISO周日历中的年份。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP,YEAR_OF_WEEK(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
YOW 函数​
YOW 函数用于返回目标日期在 ISO 周日历中的年份。YOW 函数等同于 YEAR_OF_WEEK 函数。​
函数语法​
  • 语法格式​
  • ​
    YOW(KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    字段、表达式,其值为 Timestamp、Date 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 使用 CURRENT_TIMESTAMP 函数获取当前日期和时间,然后使用 YOW 函数返回当前日期在 ISO 周日历中的年份。​
  • 检索和分析语句​
  • ​
    * | SELECT CURRENT_TIMESTAMP, YOW(CURRENT_TIMESTAMP)​
    ​
  • 检索和分析结果​
  • ​​​
DATE_ADD 函数​
DATE_ADD 函数用于在日期和时间中增加或减去指定的时间间隔。​
函数语法​
  • 语法格式​
  • ​
    DATE_ADD(unit, n, KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    unit​
    时间单位,取值为 millisecond、second、minute、hour、day、week、month、quarter、year。详细说明请参考unit 说明。​
    n​
    时间间隔。​
    KEY​
    字段、表达式,其值为 Timestamp 类型。​
    ​
  • 返回值说明​
  • 返回值类型为 Timestamp 类型。​
函数示例​
  • 场景​
  • 查询当前时间戳,然后减 1 得到昨天同时间点的时间戳。​
  • 检索和分析语句​
  • ​
    * | SELECT TO_UNIXTIME(DATE_ADD('DAY', -1, CURRENT_TIMESTAMP))​
    ​
  • 检索和分析结果​
  • ​​​
DATE_DIFF 函数​
DATE_DIFF 函数用于计算两个日期或时间点之间的差值。​
函数语法​
  • 语法格式​
  • ​
    DATE_DIFF(unit, KEY1, KEY2)​
    ​
  • 参数说明如下:​
  • ​
    参数​
    说明​
    unit​
    时间单位,取值为millisecond、second、minute、hour、day、week、month、quarter、year。更多信息,请参见unit 说明。​
    KEY1​
    字段、表达式,其值为 Timestamp 类型。​
    KEY2​
    字段、表达式,其值为 Timestamp 类型。​
    ​
  • 返回值说明​
  • 返回值为 Bigint 类型。​
函数示例​
  • 场景​
  • 将 time 字段值转换为 Timestamp 类型,然后计算其与当前时间的小时差。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    * | SELECT DATE_DIFF('hour', CAST(time AS TIMESTAMP), CURRENT_TIMESTAMP) AS "时间差(小时)"​
    ​
  • 检索和分析结果​
  • ​​​
DATE_TRUNC 函数​
DATE_TRUNC 函数会根据您指定的时间单位截断日期或时间,并按照毫秒、秒、分钟、小时、日、月或年对齐。支持解析的 UNIX 时间戳为秒级或者毫秒级。​
函数语法​
  • 语法格式​
  • ​
    DATE_TRUNC(unit, KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    unit​
    时间单位,取值为 millisecond、second、minute、hour、day、week、month、quarter、year。详细说明请参考unit 说明。​
    KEY​
    字段、表达式,其值为 UNIX 时间戳,单位为秒或者毫秒。​
    ​
函数示例​
  • 场景​
  • 按照字段 apply_time 中的分钟维度进行数据聚合。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    * | SELECT DATE_TRUNC('minute', apply_time) AS time GROUP BY time​
    ​
  • 检索与分析结果​
  • ​​​
DATE_TRUNC_SEC 函数​
DATE_TRUNC_SEC 函数会根据您指定的时间单位截断日期或时间,并按照毫秒、秒、分钟、小时、日、月或年对齐。支持解析的 UNIX 时间戳为秒级。​
函数语法​
  • 语法格式​
  • ​
    DATE_TRUNC_SEC(unit, KEY)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    unit​
    时间单位,取值为 millisecond、second、minute、hour、day、week、month、quarter、year。详细说明请参考unit 说明。​
    KEY​
    字段、表达式,其值为 UNIX 时间戳,单位为秒。​
    ​
函数示例​
  • 场景​
  • 按照字段 sli_time 中的分钟维度进行数据聚合。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    * | SELECT DATE_TRUNC_SEC('minute', sli_time) AS time GROUP BY time​
    ​
  • 检索与分析结果​
  • ​​​
TIME_SERIES 函数​
TIME_SERIES 函数用于补全查询时间窗口内缺失的数据。​
Tip​
TIME_SERIES 函数根据固定的时间间隔对日志数据进行分组聚合、统计,使用时必须搭配 GROUP BY 语法和 ORDER BY 语法,且 ORDER BY 语法不支持倒序(DESC)排序方式。​
函数语法​
  • 语法格式​
  • ​
    TIME_SERIES(KEY, window_time, format, padding_data)​
    ​
  • 参数说明​
  • ​
    参数​
    说明​
    KEY​
    表示时间的字段,例如 __time__。该字段的值应为 LONG 类型的 UNIX 时间戳(毫秒)。​
    window_time​
    窗口大小,即时间间隔。单位为 s(秒)、m(分)、h(小时)、d(天)。例如 10h 表示 10 小时、5d 表示 5 天。​
    format​
    返回结果的时间格式。详细说明如下表所示。​
    padding_data​
    用于补全的内容。支持的设置包括:​
    • 0:将缺失的字段值统一设置为 0。​
    • null:将缺失的字段值统一设置为 null。​
    • last:将缺失的字段值设置为上一个时间点对应的值。​
    • next:将缺失的字段值设置为下一个时间点对应的值。​
    • avg:将缺失的字段值设置为前后两个时间点的平均值。​
    ​
  • 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小时制,格式为 hh:mm:ss AM/PM。​
    %S​
    秒,取值范围为 00 ~ 59。​
    %s​
    秒,取值范围为 00 ~ 59。​
    %f​
    毫秒,取值范围为 000 ~ 999。​
    %T​
    时间,24 小时制,格式为 hh:mm:ss。​
    %v​
    每年的第几周,星期一为每周的第一天,取值范围为 01 ~ 53。​
    %W​
    星期几的英文名称。例如 Sunday、Saturday。​
    %Y​
    4 位数的年份。例如 2024。​
    %y​
    2 位数的年份。例如 24。​
    %%​
    % 的转义字符。​
    ​
  • 返回值说明​
  • 返回值为 Varchar 类型。​
函数示例​
  • 场景一:单字段分组排序​
  • 按照一个小时的时间粒度进行数据补全,将缺失的值统一设置为 0。​
  • 日志样例​
  • ​​​
  • 检索和分析语句​
  • ​
    * | SELECT TIME_SERIES(sli_time, '1h', '%Y-%m-%d %H:%i:%s', '0') AS time, COUNT(*) AS num GROUP BY time ORDER BY time​
    ​
  • 检索与分析结果​
  • ​​​
  • 场景二:多字段分组排序​
  • 按照三十秒的时间粒度,根据 level 分组进行数据补全,将缺失的值统一设置为 0。​
  • 检索和分析语句​
  • ​
    * | SELECT level, TIME_SERIES(__time__, '30s', '%Y-%m-%d %H:%i:%s', '0') AS time, COUNT(*) AS cnt GROUP BY level, time ORDER BY level, time​
    ​
  • 检索与分析结果​
  • ​​​
unit 说明​
​
unit​
说明​
millisecond​
毫秒​
second​
秒​
minute​
分钟​
hour​
小时​
day​
天​
week​
周​
month​
月​
quarter​
季度​
year​
年​
​
​
最近更新时间:2026.09.21 17:50:15
这个页面对您有帮助吗?
有用
有用
无用
无用