好的,我帮你整理一个 MySQL 常用日期函数速查,涵盖 DATE(), DATE_SUB(), DATE_ADD(), DATE_FORMAT(), DATEDIFF(), EXTRACT(), CURTIME(), CURDATE(),每个函数包含概念、语法和示例,方便学习和实战参考。


MySQL 日期函数速查

1. DATE()

功能:返回日期部分(去掉时间部分)。

语法

DATE(date_expression)

示例

SELECT DATE('2025-10-09 12:30:45');  -- 结果: 2025-10-09


2. DATE_SUB()

功能:从指定日期减去时间间隔。

语法

DATE_SUB(date, INTERVAL expr unit)

示例

SELECT DATE_SUB('2025-10-09', INTERVAL 7 DAY);  -- 结果: 2025-10-02
SELECT DATE_SUB(NOW(), INTERVAL 2 MONTH);       -- 结果: 当前日期减去2个月


3. DATE_ADD()

功能:在指定日期上加上时间间隔。

语法

DATE_ADD(date, INTERVAL expr unit)

示例

SELECT DATE_ADD('2025-10-09', INTERVAL 10 DAY);  -- 结果: 2025-10-19


4. DATE_FORMAT()

功能:按指定格式输出日期/时间。

语法

DATE_FORMAT(date, format)

示例

SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');  -- 结果: 2025-10-09 12:30:45
SELECT DATE_FORMAT('2025-10-09', '%W, %M %d, %Y'); -- 结果: Thursday, October 09, 2025

常用格式符

  • %Y:四位年份
  • %m:两位月份
  • %d:两位日
  • %H:24小时
  • %i:分钟
  • %s:秒
  • %W:星期几
  • %M:月份名称

5. DATEDIFF()

功能:计算两个日期之间的天数差(date1 – date2)。

语法

DATEDIFF(date1, date2)

示例

SELECT DATEDIFF('2025-10-09', '2025-09-30');  -- 结果: 9


6. EXTRACT()

功能:从日期或时间中提取指定部分(年、月、日等)。

语法

EXTRACT(unit FROM date)

示例

SELECT EXTRACT(YEAR FROM '2025-10-09');   -- 结果: 2025
SELECT EXTRACT(MONTH FROM '2025-10-09');  -- 结果: 10
SELECT EXTRACT(DAY FROM '2025-10-09');    -- 结果: 09

常用单位

  • YEAR:年份
  • MONTH:月份
  • DAY:日
  • HOUR:小时
  • MINUTE:分钟
  • SECOND:秒

7. CURTIME()

功能:返回当前时间(不含日期)。

语法

CURTIME()

示例

SELECT CURTIME();  -- 结果: 12:30:45


8. CURDATE()

功能:返回当前日期(不含时间)。

语法

CURDATE()

示例

SELECT CURDATE();  -- 结果: 2025-10-09


总结

函数功能简介
DATE()提取日期部分
DATE_SUB()日期减指定间隔
DATE_ADD()日期加指定间隔
DATE_FORMAT()按格式输出日期/时间
DATEDIFF()计算两个日期间天数差
EXTRACT()从日期/时间中提取年/月/日等部分
CURTIME()获取当前时间
CURDATE()获取当前日期

这些函数组合使用,可完成日期加减、格式化、差值计算、时间提取等大部分 MySQL 日期操作需求。