📣
TiDB Cloud Premium 开放公测中。为企业级工作负载提供无限扩展、即时弹性伸缩和高级安全保障。此页面由 AI 自动翻译,英文原文请见此处。

日期与时间函数



本页按功能分类,全面概述了 TiDB Cloud Lake 中的日期与时间函数,便于快速查阅。

当前日期与时间函数

Function描述示例
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

日期与时间提取函数

Function描述示例
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

日期与时间转换函数

Function描述示例
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'
CONVERT_TIMEZONE将时间戳转换为目标时区CONVERT_TIMEZONE('America/Los_Angeles', '2024-11-01 11:36:10') → 2024-10-31 20:36:10

日期与时间算术函数

Function描述示例
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 DAY → 2024-06-05
SUBTRACT INTERVAL从日期中减去一个间隔'2024-06-04' - INTERVAL 1 MONTH → 2024-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
AGE计算两个时间戳之间,或某个时间戳与当前日期/时间之间的差值AGE('2000-01-01'::TIMESTAMP, '1990-05-15'::TIMESTAMP) → 9 years 7 months 17 days
ADD_MONTHS在保留月末日期的情况下为日期增加月数。ADD_MONTHS('2025-04-30',1) → 2025-05-31

日期与时间截断函数

Function描述示例
DATE_TRUNC将时间戳截断到指定精度DATE_TRUNC('month', '2024-06-04') → 2024-06-01
TIME_SLICE将单个日期/时间戳值映射到按日历对齐的时间区间TIME_SLICE('2024-06-04', 4, 'MONTH', 'START') → 2024-05-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

日期与时间导航函数

Function描述示例
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

其他日期与时间函数

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

文档内容是否有帮助?