好的,我帮你整理一个 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 日期操作需求。
发表回复