排查 MySQL 日期范围查询问题
问题:
使用 BETWEEN 运算符查询 MySQL 表中的日期范围时,查询结果为空。
<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>
解决方案:
仔细检查后发现,范围中的第二个日期 ('2010-01-30 14:15:55') 在第一个日期 ('2010-09-29 10:15:55') 之前。这意味着查询请求的是在晚于另一个日期的日期之间的记录。
要纠正此问题,应反转 BETWEEN 运算符中日期的顺序:
<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>
进行此更正后,查询现在将搜索 date_field 列的值位于 '2010-01-30 14:15:55' 和 '2010-09-29 10:15:55' 有效日期范围内的记录。
更多资源:
以上是为什么我的 MySQL 日期范围查询没有返回结果?的详细内容。更多信息请关注PHP中文网其他相关文章!