Mysql中用between...and...查询日期时注意事项

朴灿烈づ我的快乐病毒、 2023-09-30 09:55 127阅读 0赞
  1. select count(1) from user where regist_date between '2017-07-25 00:00:00' and '2017-07-25 24:00:00';

这条sql语句查询出结果为0。实际上数据库有一条符合该查询条件的数据。

错误原因:2017-07-25 24:00:00 晚上24点即为下一天00点 2017-07-26 00:00:00,数据库识别不出24点的信息;换成下一天00点即可以查询出正确结果。

img

img

Java代码中可以识别24点的信息,但就算你写成24点,打印出的结果却是下一天00点。

java代码如下图:

img

打印结果如下图:

img

把between…and…换成>= <=能识别出来

img

总结:涉及到时间24点的时候,用下一天00点代替。

发表评论

表情:
评论列表 (有 0 条评论,127人围观)

还没有评论,来说两句吧...

相关阅读

    相关 mysql注意事项

    1. 如果GROUP BY 的列没有索引,产生临时表. 2. 如果GROUP BY时,SELECT的列不止GROUP BY列一个,并且GROUP BY的列不是主键 ,