主题
日期函数
1. 获取当前日期和时间
NOW()
返回当前的日期和时间(精确到秒)。CURDATE()
返回当前日期(不含时间)。CURTIME()
返回当前时间。
sql
SELECT NOW(), CURDATE(), CURTIME();
2. 日期格式化
DATE_FORMAT(date, format)
按指定格式输出日期。
sql
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
常用格式:
%Y
年(四位)%m
月(两位)%d
日(两位)%H
小时(24小时制)%i
分钟%s
秒
3. 日期加减
DATE_ADD(date, INTERVAL expr unit)
日期加上指定时间间隔。DATE_SUB(date, INTERVAL expr unit)
日期减去指定时间间隔。
sql
SELECT DATE_ADD(NOW(), INTERVAL 7 DAY);
SELECT DATE_SUB(CURDATE(), INTERVAL 1 MONTH);
单位示例:SECOND, MINUTE, HOUR, DAY, MONTH, YEAR 等。
4. 提取日期部分
YEAR(date)
返回年份。MONTH(date)
返回月份。DAY(date)
返回日。HOUR(time)
返回小时。MINUTE(time)
返回分钟。SECOND(time)
返回秒。
sql
SELECT YEAR(NOW()), MONTH(NOW()), DAY(NOW());
5. 计算日期差
DATEDIFF(date1, date2)
返回两个日期之间的天数差。
sql
SELECT DATEDIFF('2025-05-19', '2025-01-01');
掌握日期函数,有助于灵活处理时间相关的业务需求。