SELECT * FROM 表名 WHERE 开始时间字段名 BETWEEN '2018-09-01' AND '2018-09-14';
发现9月14号的数据没有出来,那就证明between……and……是左闭右开,即[a,b),包含a的值,不包含b的值。
将上面代码修改下面的语句即可,将原来的日期加上一天,就行。
select * from 表名 where 字段名 BETWEEN '2018-08-08' and DATE_ADD('2018-09-14',INTERVAL 1 DAY);
这个问题其实代入到数学中很简单。
我测试的时候和同事说没有包含这一天的数据,还争论了半天,其实是因为思维的问题,程序员的思维和正常人的思维是有一定差异的。就像我有时候就会从0开始数东西,到最后发现不对。当然生活中还是要正常,工作中不正常的需求太多了。
我的项目用的mybatis,下面就是截取mapper的一部分,其实和上面的between一样的用法

到此这篇关于mysql时间区间问题的文章就介绍到这了,更多相关mysql时间区间问题内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!