”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 如何在MySQL中正确选择两个日期之间的数据?

如何在MySQL中正确选择两个日期之间的数据?

发布于2024-11-26
浏览:500

How to Properly Select Data Between Two Dates in MySQL?

从 MySQL 数据库中选择两个日期之间的数据

在 MySQL 中,检索特定日期范围内的数据是存储日期时的一个常见挑战作为日期时间值。由于默认将午夜解释为日期的开始,使用 >= 和

考虑这样的场景:您想要选择created_at 列位于 ' 之间的记录。 2011 年 12 月 1 日和 2011 年 12 月 6 日。运行以下查询将令人惊讶地排除在 '2011-12-06 10:45:36' 发生的预期记录:

SELECT `users`.* FROM `users` 
WHERE created_at >= '2011-12-01' 
AND created_at 

原因是MySQL将结束日期解释为午夜('2011-12-06 00:00:00'),有效地排除了当天晚些时候创建的记录。要选择所需记录,请将结束日期修改为“2011-12-07”:

SELECT `users`.* FROM `users` 
WHERE created_at >= '2011-12-01' 
AND created_at 

或者,使用 DATE_ADD() 在开始日期中添加天数,创建一个包含所需结束日期的时间间隔:

SELECT `users`.* FROM `users` 
WHERE created_at >= '2011-12-01' 
AND created_at 

为了提高可读性,可以使用 BETWEEN 运算符:

SELECT `users`.* FROM `users` 
WHERE created_at BETWEEN('2011-12-01', DATE_ADD('2011-12-01', INTERVAL 7 DAY))

通过调整结束日期或使用 DATE_ADD() 函数,您可以准确选择指定日期范围内的数据,确保捕获在预期结束日期创建的所有记录。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3