MySQL中如何查询时间在指定区间内的数据:BETWEEN与时间函数详解
在MySQL中,要查询时间在某个区间内的数据,可以使用 BETWEEN 运算符或结合时间函数(如 DATE()、TIMESTAMP())进行范围筛选。核心方法是利用 WHERE 子句指定时间字段,并通过 BETWEEN '开始时间' AND '结束时间' 实现精确区间查询,查询2023年1月1日至2023年12月31日的订单记录:
SELECT * FROM orders WHERE order_time BETWEEN '2023-01-01 00:00:00' AND '2023-12-31 23:59:59';
注意事项:

- 时间格式需匹配:若字段为
DATETIME或TIMESTAMP类型,需确保比较值格式一致(如'YYYY-MM-DD HH:MM:SS')。 - 开闭区间处理:
BETWEEN包含边界值,若需排除结束时间,可改用>=和<运算符。 - 性能优化:对时间字段建立索引可大幅提升查询效率,尤其在海量数据场景中。
扩展场景:
- 按日期区间查询:若仅关注日期部分,可使用
DATE()函数忽略时间,如WHERE DATE(order_time) BETWEEN '2023-01-01' AND '2023-01-31'。 - 动态时间区间:结合
NOW()、INTERVAL实现动态查询,例如查询最近7天的数据:SELECT * FROM logs WHERE log_time BETWEEN NOW() - INTERVAL 7 DAY AND NOW();
通过灵活运用 BETWEEN 与时间函数,MySQL能够高效处理各类时间区间查询需求,为数据分析与业务监控提供关键支持。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/6186.html发布于:2026-07-22





