码迷,mamicode.com
首页 > 数据库 > 详细

Mysql使用between and处理时间区间不包括右边界问题

时间:2020-03-21 11:23:14      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:解决   rom   类型   inf   数据格式   code   from   解决方法   mys   

比如在Mysql中有如下select语句:

SELECT * FROM userinfo WHERE xm=‘xiaoming‘ and datetime BETWEEN‘2020-01-01‘ and ‘2020-01-31‘

上面这种写法 查询出来的数据并不会包括 2020-1-31 日的数据,因为MySQL对日期的查询是默认“00:00:00”,所以上面的时间区间实际为:2020-01-01:00:00:00——2020-01-31:00:00:00,31日当天的数据是不在区间内的,所以查询不到。

解决方法:

1,把日期往后推一天,2018-10-01——2018-11-01
2,把右边界的时间精确到边界,2018-10-01——2018-10-31 23:59:59

补充:

以上问题只会在字段类型为‘DateTime’中会出现,MySQL本身是包含右边界的,如果是datetime,数据格式则会被转换为:2018-10-01 00:00:00,数据类型本身是date则不会出现上述问题。

Mysql使用between and处理时间区间不包括右边界问题

标签:解决   rom   类型   inf   数据格式   code   from   解决方法   mys   

原文地址:https://www.cnblogs.com/zhuanghongchuan/p/12537247.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!