掌握MySQL日期函数可高效处理日期数据。使用DATE()提取日期部分,如SELECT DATE(NOW());用DATE_FORMAT()格式化输出,如按'%Y年%m月%d日'显示;通过DATE_ADD()/DATE_SUB()进行日期增减,如加7天或减1个月;在WHERE中结合函数实现日期比较与范围查询,如筛选某天或过去24小时数据。注意避免在字段上直接使用函数以防索引失效。

在MySQL中处理日期和时间是日常开发中的常见需求。DATE函数及相关日期操作函数可以帮助你提取、格式化、计算和比较日期数据。下面介绍几种常用的MySQL日期函数使用方法,帮助你高效处理日期类型字段。
提取日期部分
如果你有一个DATETIME或TIMESTAMP类型的字段,但只想获取其中的日期部分(即去掉时间),可以使用DATE()函数。语法: DATE(expression)
例如,从当前时间提取日期:
SELECT DATE(NOW()); -- 输出:2025-04-05
或者从表中某个时间字段提取日期:
SELECT DATE(create_time) FROM orders; -- 返回每条记录的创建日期
日期格式化输出
使用DATE_FORMAT()函数可以将日期按照指定格式显示,适合报表或界面展示。语法: DATE_FORMAT(date, format)
常用格式符:
- %Y:四位年份(如2025)
- %m:两位月份(01-12)
- %d:两位日期(01-31)
- %H:小时(00-23)
- %i:分钟(00-59)
- %s:秒(00-59)
示例:
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日'); -- 输出:2025年04月05日
SELECT DATE_FORMAT(create_time, '%Y-%m-%d') FROM logs;
日期计算与增减
MySQL提供DATE_ADD()和DATE_SUB()函数用于对日期进行加减操作。语法: DATE_ADD(date, INTERVAL expr unit)
示例:
- SELECT DATE_ADD(NOW(), INTERVAL 7 DAY); -- 当前时间加7天
- SELECT DATE_SUB('2025-04-05', INTERVAL 1 MONTH); -- 减去一个月
- SELECT NOW() + INTERVAL 2 HOUR; -- 简写方式,加2小时
支持的单位包括:SECOND、MINUTE、HOUR、DAY、MONTH、YEAR等。
日期比较与条件查询
在WHERE子句中可以直接使用日期函数进行范围查询或条件筛选。示例:
- SELECT * FROM orders WHERE DATE(create_time) = '2025-04-05'; -- 查询某天的数据
- SELECT * FROM logs WHERE create_time >= DATE_SUB(NOW(), INTERVAL 24 HOUR); -- 过去24小时内的记录
- SELECT * FROM users WHERE birthday BETWEEN '1990-01-01' AND '1999-12-31';
基本上就这些。掌握DATE()、DATE_FORMAT()、DATE_ADD/SUB以及日期比较方法,就能应对大多数日期操作场景。注意字段索引优化,避免在日期字段上频繁使用函数导致索引失效。不复杂但容易忽略。









