MySQL 日期 / 时间函数

2025年3月25日 | 阅读 4 分钟

MySQL 日期/时间函数用于操作时间值。下表列出了每个函数及其简要描述

函数描述
date()date() 函数用于从给定的日期/日期时间中提取日期。
adddata()adddata() 函数用于获取在其中添加了一些时间/日期间隔的日期。
curdate()curdate() 函数用于获取当前日期。
current_date()current_date() 函数用于获取当前日期。
date_add()date_add() 函数用于获取在其中添加了一些日期/日期时间间隔的日期。
date_format()date_format() 函数用于以指定的格式获取日期。
datediff()datediff() 函数用于获取两个指定日期值之间的差值。
day()day() 函数用于从给定的日期中提取日期。
dayname()dayname() 函数用于从给定的日期中获取日期的名称。
dayofmonth()dayofmonth() 函数用于获取指定日期的月份中的第几天。
dayofweek()dayofweek() 函数用于以数字形式获取星期几。
dayofyear()dayofyear() 函数用于获取一年中的第几天。
from_days()from_days() 函数用于根据给定的天数获取日期。
hour()hour() 函数用于从给定的日期时间中提取小时。
addtime()addtime() 函数用于获取在其中添加了一些时间间隔的时间/日期时间值。
current_time()current_time() 函数用于获取当前时间。
current_timestamp()current_timestamp() 函数用于获取当前的日期和时间。
curtime()curtime() 函数用于获取当前时间。
last_day()last_day() 函数用于获取给定日期所在月份的最后一天。
localtime()localtime() 函数用于获取当前的日期和时间。
localtimestamp()localtimestamp() 函数用于获取当前的日期和时间。
makedate()makedate() 函数用于根据给定的年份和天数创建日期。
maketime()maketime() 函数用于根据给定的时、分、秒创建时间。
microsecond()microsecond() 函数用于从给定的日期时间或时间中提取微秒值。
minute()minute() 函数用于获取指定日期时间或时间中的分钟值。
month()month() 函数用于从给定的日期时间或时间中提取月份值。
monthname()monthname() 函数用于获取完整的月份名称。
now() now()函数用于获取当前的日期和时间。
period_add()period_add() 函数在给定的格式为 YYMM 或 YYYYMM 的期间中添加指定的月数。
period_diff()period_diff() 函数用于获取两个给定期间之间的差值。
quater()quarter() 函数用于获取指定日期/日期时间的季度部分。
sec_to_time()sec_to_time() 函数用于将指定的秒数转换为时间。
second()second() 函数用于获取指定日期/日期时间的秒部分。
str_to_date()str_to_date() 函数用于将字符串转换为指定的 format_mask。
subdate()subdate() 函数用于获取减去给定时间间隔后的日期。
subtime()subtime() 函数用于获取减去一定时间间隔后的时间/日期时间。
sysdate()sysdate() 函数用于获取系统日期。
time()time() 函数用于获取给定时间/日期时间的时间部分。
time_format()time_format() 函数用于以指定的 format_mask 格式化时间。
time_to_sec()time_to_sec() 函数用于将时间转换为秒。
timediff()timediff() 函数用于获取给定两个时间/日期时间之间的差值。
timestamp()timestamp() 函数用于将表达式转换为日期时间/时间。
to_day()to_day() 函数用于将日期转换为数字天数。
weekday()weekday() 函数用于获取日期的索引
week()week() 函数用于获取指定日期的周部分。
weekofyear()weekofyear() 函数用于获取给定日期的年份中的周数。

示例 1

输出

mysql> SELECT ADDDATE('1997-01-02', 31);
+---------------------------------------------------------+
|         DATE_ADD('1997-01-02', INTERVAL 31 DAY)         |
+---------------------------------------------------------+
|                       1997-02-02                        |
+---------------------------------------------------------+
1 row in set (0.00 sec)

示例 2

输出

mysql> SELECT DATE('2004-12-21 01:02:03');
+---------------------------------------------------------+
|              DATE('2004-12-21 01:02:03')                |
+---------------------------------------------------------+
|                     2004-12-21                          |
+---------------------------------------------------------+
1 row in set (0.00 sec)