跳到主要内容

日期与时间函数(Date & Time Functions)

本页面提供 Databend 中日期与时间函数的全面概览,按功能分类以便参考。

当前日期与时间函数

函数描述示例
NOW返回当前日期和时间NOW()2024-06-04 17:42:31.123456
CURRENT_TIMESTAMP返回当前日期和时间CURRENT_TIMESTAMP()2024-06-04 17:42:31.123456
TODAY返回当前日期TODAY()2024-06-04
TOMORROW返回明日日期TOMORROW()2024-06-05
YESTERDAY返回昨日日期YESTERDAY()2024-06-03

日期与时间提取函数

函数描述示例
YEAR提取日期中的年份YEAR('2024-06-04')2024
MONTH提取日期中的月份MONTH('2024-06-04')6
DAY提取日期中的天数DAY('2024-06-04')4
QUARTER提取日期中的季度QUARTER('2024-06-04')2
WEEK / WEEKOFYEAR提取日期中的周数WEEK('2024-06-04')23
EXTRACT提取日期的指定部分EXTRACT(MONTH FROM '2024-06-04')6
DATE_PART提取日期的指定部分DATE_PART('month', '2024-06-04')6
YEARWEEK返回年份和周数组合值YEARWEEK('2024-06-04')202423
MILLENNIUM返回日期所属的千禧年MILLENNIUM('2024-06-04')3

日期与时间转换函数

函数描述示例
DATE转换值为 DATE 类型DATE('2024-06-04')2024-06-04
TO_DATE转换字符串为 DATE 类型TO_DATE('2024-06-04')2024-06-04
TO_DATETIME转换字符串为 DATETIME 类型TO_DATETIME('2024-06-04 12:30:45')2024-06-04 12:30:45
TO_TIMESTAMP转换字符串为 TIMESTAMP 类型TO_TIMESTAMP('2024-06-04 12:30:45')2024-06-04 12:30:45
TO_UNIX_TIMESTAMP转换日期为 Unix 时间戳TO_UNIX_TIMESTAMP('2024-06-04')1717516800
TO_YYYYMM格式化日期为 YYYYMMTO_YYYYMM('2024-06-04')202406
TO_YYYYMMDD格式化日期为 YYYYMMDDTO_YYYYMMDD('2024-06-04')20240604
TO_YYYYMMDDHH格式化日期为 YYYYMMDDHHTO_YYYYMMDDHH('2024-06-04 12:30:45')2024060412
TO_YYYYMMDDHHMMSS格式化日期为 YYYYMMDDHHMMSSTO_YYYYMMDDHHMMSS('2024-06-04 12:30:45')20240604123045
DATE_FORMAT按格式字符串格式化日期DATE_FORMAT('2024-06-04', '%Y-%m-%d')'2024-06-04'

日期与时间算术函数

函数描述示例
DATE_ADD为日期添加时间间隔DATE_ADD(DAY, 7, '2024-06-04')2024-06-11
DATE_SUB从日期减去时间间隔DATE_SUB(MONTH, 1, '2024-06-04')2024-05-04
ADD INTERVAL为日期添加间隔'2024-06-04' + INTERVAL 1 DAY2024-06-05
SUBTRACT INTERVAL从日期减去间隔'2024-06-04' - INTERVAL 1 MONTH2024-05-04
DATE_DIFF计算两个日期的差值DATE_DIFF(DAY, '2024-06-01', '2024-06-04')3
TIMESTAMP_DIFF计算两个时间戳的差值TIMESTAMP_DIFF(HOUR, '2024-06-04 10:00:00', '2024-06-04 15:00:00')5
MONTHS_BETWEEN计算两个日期间的月份数MONTHS_BETWEEN('2024-06-04', '2024-01-04')5
DATE_BETWEEN判断日期是否在指定范围内DATE_BETWEEN('2024-06-04', '2024-06-01', '2024-06-10')true

日期与时间截断函数

函数描述示例
DATE_TRUNC按精度截断时间戳DATE_TRUNC('month', '2024-06-04')2024-06-01
TO_START_OF_DAY返回某日的起始时刻TO_START_OF_DAY('2024-06-04 12:30:45')2024-06-04 00:00:00
TO_START_OF_HOUR返回某小时的起始时刻TO_START_OF_HOUR('2024-06-04 12:30:45')2024-06-04 12:00:00
TO_START_OF_MINUTE返回某分钟的起始时刻TO_START_OF_MINUTE('2024-06-04 12:30:45')2024-06-04 12:30:00
TO_START_OF_MONTH返回某月的起始日期TO_START_OF_MONTH('2024-06-04')2024-06-01
TO_START_OF_QUARTER返回某季度的起始日期TO_START_OF_QUARTER('2024-06-04')2024-04-01
TO_START_OF_YEAR返回某年的起始日期TO_START_OF_YEAR('2024-06-04')2024-01-01
TO_START_OF_WEEK返回某周的起始日期TO_START_OF_WEEK('2024-06-04')2024-06-03

日期与时间导航函数

函数描述示例
LAST_DAY返回月份的最后一天LAST_DAY('2024-06-04')2024-06-30
NEXT_DAY返回下个指定星期的日期NEXT_DAY('2024-06-04', 'SUNDAY')2024-06-09
PREVIOUS_DAY返回上个指定星期的日期PREVIOUS_DAY('2024-06-04', 'MONDAY')2024-06-03

其他日期与时间函数

函数描述示例
TIMEZONE返回当前时区TIMEZONE()'UTC'
TIME_SLOT生成时间槽TIME_SLOT('2024-06-04 12:30:45', 15, 'MINUTE')2024-06-04 12:30:00