更新时间:2025-09-05 GMT+08:00
分享

时间函数

安全云脑SecMaster SQL语法支持的时间函数如下表所示:

表1 SecMaster SQL语法支持的时间函数

函数

函数功能说明

LOCALTIME

返回本地时区的当前 SQL 时间,返回类型为 TIME(0)。在流模式下为每条记录进行取值。 但在批处理模式下,它在查询开始时计算一次,并对每一行使用相同的结果。

LOCALTIMESTAMP

返回本地时区的当前 SQL 时间,返回类型为 TIMESTAMP(3)。在流模式下为每条记录进行取值。 但在批处理模式下,它在查询开始时计算一次,并对每一行使用相同的结果。

CURRENT_TIME

返回本地时区的当前 SQL 时间,这是 LOCALTIME 的同义词。

CURRENT_DATE

返回本地时区中的当前 SQL 日期。在流模式下为每条记录进行取值。 但在批处理模式下,它在查询开始时计算一次,并对每一行使用相同的结果。

CURRENT_TIMESTAMP

返回本地时区的当前 SQL 时间戳,返回类型为 TIMESTAMP_LTZ(3)。在流模式下为每条记录进行取值。 但在批处理模式下,它在查询开始时计算一次,并对每一行使用相同的结果。

NOW()

返回本地时区的当前 SQL 时间戳,这是 CURRENT_TIMESTAMP 的同义词。

YEAR(date)

从 SQL 日期 date 返回年份。相当于 EXTRACT(YEAR FROM date)。例如 YEAR(DATE '1994-09-27') 返回 1994。

MONTH(date)

从 SQL 日期 date 返回一年中的月份(1 到 12 之间的整数)。相当于 EXTRACT(MONTH FROM date)。 例如 MONTH(DATE '1994-09-27') 返回 9。

WEEK(date)

从 SQL 日期 date 返回一年中的第几周(1 到 53 之间的整数)。相当于 EXTRACT(WEEK FROM date)。 例如 WEEK(DATE '1994-09-27') 返回 39。

DAYOFYEAR(date)

从 SQL 日期 date 返回一年中的第几天(1 到 366 之间的整数)。相当于 EXTRACT(DOY FROM date)。 例如 DAYOFYEAR(DATE '1994-09-27') 返回 270。

DAYOFMONTH(date)

从 SQL 日期 date 返回一个月中的第几天(1 到 31 之间的整数)。相当于 EXTRACT(DAY FROM date)。 例如 DAYOFMONTH(DATE '1994-09-27') 返回 27。

DAYOFWEEK(date)

从 SQL 日期 date 返回一个星期中的第几天(1 到 7 之间的整数)。相当于 EXTRACT(DOW FROM date)。 例如 DAYOFWEEK(DATE '1994-09-27') 返回 3。

HOUR(timestamp)

从 SQL 时间戳 timestamp 返回小时单位部分的小时(0 到 23 之间的整数)数。相当于 EXTRACT(HOUR FROM timestamp)。 例如 HOUR(TIMESTAMP '1994-09-27 13:14:15') 返回 13。

MINUTE(timestamp)

从 SQL 时间戳 timestamp 返回分钟单位的分钟数(0 到 59 之间的整数)。相当于 EXTRACT(MINUTE FROM timestamp)。 例如 MINUTE(TIMESTAMP '1994-09-27 13:14:15') 返回 14。

DATE_FORMAT(timestamp, string)

将时间戳 timestamp 转换为日期格式字符串 string 指定格式的字符串值。格式字符串与 Java 的 SimpleDateFormat 兼容。

TIMESTAMPADD(timeintervalunit, interval, timepoint)

将时间interval和timepoint进行加减换算,加减的时间单位由timeintervalunit决定,例如TIMESTAMPADD(DAY,-3,NOW())用当前时间减三天,返回三天前的同一时间。

相关文档