📣

TiDB Cloud Serverless 现已更名为
Starter
!此页面由 AI 自动翻译,英文原文请见
此处。

日期和时间函数

TiDB 支持所有在 MySQL 8.0 中可用的 日期和时间函数

日期/时间函数:

名称描述
ADDDATE()在日期值上添加时间值(间隔)
ADDTIME()添加时间
CONVERT_TZ()转换时区
CURDATE()返回当前日期
CURRENT_DATE(), CURRENT_DATECURDATE() 的同义词
CURRENT_TIME(), CURRENT_TIMECURTIME() 的同义词
CURRENT_TIMESTAMP(), CURRENT_TIMESTAMPNOW() 的同义词
CURTIME()返回当前时间
DATE()提取日期或日期时间表达式中的日期部分
DATE_ADD()在日期值上添加时间值(间隔)
DATE_FORMAT()按照指定格式格式化日期
DATE_SUB()从日期中减去时间值(间隔)
DATEDIFF()计算两个日期的差值
DAY()DAYOFMONTH() 的同义词
DAYNAME()返回星期几的名称
DAYOFMONTH()返回月份中的天数(0-31)
DAYOFWEEK()返回参数的星期索引
DAYOFYEAR()返回一年中的第几天(1-366)
EXTRACT()提取日期的某一部分
FROM_DAYS()将天数转换为日期
FROM_UNIXTIME()将 Unix 时间戳格式化为日期
GET_FORMAT()返回日期格式字符串
HOUR()提取小时
LAST_DAY返回参数所在月份的最后一天
LOCALTIME(), LOCALTIMENOW() 的同义词
LOCALTIMESTAMP, LOCALTIMESTAMP()NOW() 的同义词
MAKEDATE()从年份和年份中的天数创建日期
MAKETIME()从小时、分钟、秒创建时间
MICROSECOND()返回参数中的微秒数
MINUTE()返回参数中的分钟数
MONTH()返回传入日期的月份
MONTHNAME()返回月份的名称
NOW()返回当前的日期和时间
PERIOD_ADD()在年月期间添加一个周期
PERIOD_DIFF()返回两个年月期间的月份差
QUARTER()返回日期所属的季度
SEC_TO_TIME()将秒数转换为 'HH:MM:SS' 格式
SECOND()返回秒(0-59)
STR_TO_DATE()将字符串转换为日期
SUBDATE()调用时参数为三个时,SUBDATE() 等同于 DATE_SUB()
SUBTIME()减去时间
SYSDATE()返回函数执行时的时间
TIME()提取传入表达式的时间部分
TIME_FORMAT()格式化为时间
TIME_TO_SEC()将参数转换为秒数
TIMEDIFF()时间相减
TIMESTAMP()单个参数时,返回日期或日期时间表达式;两个参数时,返回参数之和
TIMESTAMPADD()在日期时间表达式中添加间隔
TIMESTAMPDIFF()从日期时间表达式中减去间隔
TO_DAYS()将日期参数转换为天数
TO_SECONDS()将日期或日期时间参数转换为自 0 年以来的秒数
UNIX_TIMESTAMP()返回 Unix 时间戳
UTC_DATE()返回当前 UTC 日期
UTC_TIME()返回当前 UTC 时间
UTC_TIMESTAMP()返回当前 UTC 日期和时间
WEEK()返回周数
WEEKDAY()返回星期索引
WEEKOFYEAR()返回日期的日历周(1-53)
YEAR()返回年份
YEARWEEK()返回年份和周数

有关详细信息,请参见 Date and Time Functions

MySQL 兼容性

TiDB 支持 STR_TO_DATE() 函数,但无法解析所有日期和时间值。此外,以下日期和时间格式化选项未实现

格式描述
"%a"缩写的星期几名称(Sun..Sat)
"%D"带有英文后缀的日期(0th, 1st, 2nd, 3rd)
"%U"周(00..53),以星期天为一周的第一天;WEEK() 模式 0
"%u"周(00..53),以星期一为一周的第一天;WEEK() 模式 1
"%V"周(01..53),以星期天为一周的第一天;WEEK() 模式 2;与 %X 一起使用
"%v"周(01..53),以星期一为一周的第一天;WEEK() 模式 3;与 %x 一起使用
"%W"星期几的名称(Sunday..Saturday)
"%w"一周中的天(0=星期天..6=星期六)
"%X"以星期天为一周第一天的周的年份,数字,四位数。
"%x"以星期一为一周第一天的周的年份,数字,四位数。

有关更多细节,请参见 issue #30082

相关系统变量

default_week_format 变量影响 WEEK() 函数。

文档内容是否有帮助?