mysql 日期区间查询问题
在做mysql区间查询的时候,查询出的数据缺少最大时间的数据例如:表中有一个字段datetime类型的字段date,sql语句如下:select * from test where date between '2018-01-17' and '2018-01-18';select * from test where date >= '2018-01-17' and date 两个语句都得不到 da
·
在做mysql区间查询的时候,查询出的数据缺少最大时间的数据
例如:表中有一个字段datetime类型的字段date,sql语句如下:
select * from test where date between '2018-01-17' and '2018-01-18';
select * from test where date >= '2018-01-17' and date <= '2018-01-18';
两个语句都得不到 date 等于 2018-01-18的数据。最后的解决办法是将2018-01-18 后面加上了时、分、秒,及改成如下语句:
select * from test where date between '2018-01-17' and '2018-01-18 23:59:59';
select * from test where date >= '2018-01-17' and '2018-01-18 23:59:59';
感觉时间的比较是按字符串方式比较的,因为,date字段的数据是精确到时分秒的,及 '2018-01-18' > '2018-01-18 00:00:00',所以最上面两个sql语句查不到值为2018-01-18的数据。
更多推荐
已为社区贡献1条内容
所有评论(0)