mysql如何使用date函数处理日期

来源:这里教程网 时间:2026-02-28 20:12:06 作者:

在MySQL中,DATE函数用于提取日期部分或进行日期运算,是处理时间类型数据的重要工具。常见的应用场景包括提取日期、格式化输出、日期计算和条件筛选。

提取日期部分

当你只需要从 DATETIMETIMESTAMP 字段中获取日期(年-月-日)时,使用 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() 进行日期加减:

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() 及相关函数,能高效处理大多数日期需求。注意合理使用索引,优先用范围查询代替函数包裹字段。不复杂但容易忽略细节。

相关推荐

热文推荐