当前位置:Gxlcms > 数据库问题 > Mysql使用between and处理时间区间不包括右边界问题

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

时间:2021-07-01 10:21:17 帮助过:39人阅读

比如在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   

人气教程排行