首页 >数据库 >mysql教程 >为什么我的 MySQL'BETWEEN”子句日期范围查询没有返回结果?

为什么我的 MySQL'BETWEEN”子句日期范围查询没有返回结果?

Patricia Arquette
Patricia Arquette原创
2025-01-21 18:18:09682浏览

Why is my MySQL `BETWEEN` clause date range query returning no results?

解决MySQL日期范围查询问题

本文探讨了使用MySQL查询指定日期范围时遇到的一个常见问题。以下查询语句:

<code class="language-sql">SELECT * FROM `objects` 
WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')</code>

尽管数据库中存在满足条件的数据,但该语句却无法返回任何结果。

问题在于BETWEEN子句中日期的顺序。第二个日期('2010-01-30 14:15:55')早于第一个日期('2010-09-29 10:15:55'),导致生成的日期范围实际上不存在任何数据。要解决这个问题,只需反转日期顺序:

<code class="language-sql">SELECT *
FROM `objects`
WHERE (date_field BETWEEN '2010-09-29 10:15:55' AND '2010-01-30 14:15:55')</code>

这样,查询将查找date_field值介于2010年9月29日和2010年1月30日之间的对象,从而得到预期的结果。

更多信息,请参考官方MySQL文档:https://www.php.cn/link/4c74dcfeac90df69aed5c8a90125e696

以上是为什么我的 MySQL'BETWEEN”子句日期范围查询没有返回结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn