DATE函数用于提取日期或进行日期运算,如提取日期部分、格式化输出、日期计算和条件筛选。

在MySQL中,DATE函数用于提取日期部分或进行日期运算,是处理时间类型数据的重要工具。常见的应用场景包括提取日期、格式化输出、日期计算和条件筛选。
提取日期部分
当你只需要从 DATETIME 或 TIMESTAMP 字段中获取日期(年-月-日)时,使用 DATE() 函数:
SELECT DATE('2025-04-05 14:30:25'); -- 返回 '2025-04-05'
SELECT DATE(created_at) FROM orders;
这在统计每日订单、按日期分组时非常实用。
格式化日期输出
结合 DATE_FORMAT() 可以自定义日期显示格式:
SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日'); -- 返回如 '2025年04月05日' SELECT DATE_FORMAT(order_time, '%W, %M %d') FROM orders;
常用格式符:%Y(四位年),%m(两位月),%d(两位日),%H(小时),%i(分钟)。
日期计算与增减
使用 DATE_ADD() 和 DATE_SUB() 进行日期加减:
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
- DATE_ADD(date, INTERVAL 7 DAY) —— 加7天
- DATE_SUB(date, INTERVAL 1 MONTH) —— 减1个月
- DATE_ADD(NOW(), INTERVAL 2 HOUR) —— 当前时间加2小时
适用于设置过期时间、计算活动截止日等场景。
日期比较与查询
在 WHERE 条件中使用 DATE 函数精确匹配某一天的数据:
SELECT * FROM logs WHERE DATE(log_time) = '2025-04-05';
也可用范围提升性能:
WHERE log_time >= '2025-04-05' AND log_time < '2025-04-06'
避免对字段使用函数导致索引失效。
基本上就这些。掌握 DATE() 及相关函数,能高效处理大多数日期需求。注意合理使用索引,优先用范围查询代替函数包裹字段。不复杂但容易忽略细节。









