MySQL时间查询全攻略:从基础语法到实战技巧
在MySQL中查询时间主要通过内置的日期时间函数和操作符实现,核心方法是使用NOW()、CURDATE()等函数获取当前时间,并结合WHERE子句和比较运算符筛选特定时间范围的数据,查询当前时间可直接运行SELECT NOW();,返回结果如2023-10-01 12:30:45。
以下为常用时间查询方法详解:

-
获取当前时间
NOW():返回当前日期和时间(格式:YYYY-MM-DD HH:MM:SS)。CURDATE():仅返回当前日期(格式:YYYY-MM-DD)。CURTIME():仅返回当前时间(格式:HH:MM:SS)。
-
筛选时间范围
使用WHERE子句配合比较运算符(如>、<、BETWEEN):SELECT * FROM orders WHERE order_time BETWEEN '2023-10-01 00:00:00' AND '2023-10-31 23:59:59';
-
提取时间部分
DATE():提取日期部分(如DATE('2023-10-01 14:30:00')返回2023-10-01)。TIME():提取时间部分(如TIME('2023-10-01 14:30:00')返回14:30:00)。YEAR()、MONTH()、DAY():分别提取年、月、日。
-
格式化时间显示
使用DATE_FORMAT()自定义输出格式:SELECT DATE_FORMAT(NOW(), '%Y年%m月%d日 %H时%i分%s秒');
-
时间计算与调整
DATE_ADD():增加时间间隔(如DATE_ADD(NOW(), INTERVAL 7 DAY))。DATE_SUB():减少时间间隔(如DATE_SUB(NOW(), INTERVAL 1 HOUR))。
注意事项:
- 确保时间字段使用合适的类型(如
DATETIME、TIMESTAMP、DATE)。 - 处理时区问题时可用
CONVERT_TZ()函数转换。 - 对频繁查询的时间字段建立索引以提升性能。
通过灵活组合上述方法,可高效完成MySQL中的时间查询与数据分析任务。
未经允许不得转载! 作者:HTML前端知识网,转载或复制请以超链接形式并注明出处HTML前端知识网。
原文地址:https://www.html4.cn/9163.html发布于:2026-08-06





