MySQL中如何高效查询日期:方法与实例详解
在MySQL中查询日期主要通过日期函数和条件语句实现,核心方法是使用DATE()、BETWEEN、>=和<=等函数与运算符,结合WHERE子句进行精确或范围查询,要查询特定日期的数据,可使用SELECT * FROM 表名 WHERE DATE(日期字段) = '2023-10-01';,这将提取该日期所有记录。
关键操作与技巧:

- 精确日期查询:使用
DATE()函数忽略时间部分,如WHERE DATE(create_time) = '2023-10-01'。 - 日期范围查询:推荐
BETWEEN或比较运算符,例如WHERE create_time BETWEEN '2023-10-01' AND '2023-10-31',或WHERE create_time >= '2023-10-01' AND create_time <= '2023-10-31'。 - 灵活函数应用:
- 提取日期部分:
YEAR()、MONTH()、DAY()可分离年/月/日,如查询2023年数据:WHERE YEAR(create_time) = 2023。 - 当前日期查询:
CURDATE()获取当天,如WHERE DATE(create_time) = CURDATE()。 - 日期加减:
DATE_ADD()和DATE_SUB()处理时间间隔,例如查询过去7天数据:WHERE create_time >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)。
- 提取日期部分:
注意事项:
- 索引优化:直接对日期字段使用
BETWEEN或比较运算符可提升查询效率,避免对字段使用函数(如DATE())导致索引失效,若需处理时间部分,可考虑存储时分离日期与时间。 - 格式匹配:确保查询日期格式与字段存储格式一致,通常为
YYYY-MM-DD。
通过结合这些方法,可高效完成MySQL中的日期查询,满足数据分析、报表生成等场景需求。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/9256.html发布于:2026-08-06





