解决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中文网其他相关文章!