mysql 的 between and 包含两边的边界值,但是在查询时间日期,需要注意;
For Example举例
| x | x_null | x_values | 日期 | 日期时间 |
|---|---|---|---|---|
| a | x | 1 | 2017/1/1 | 2017/1/1 10:00:01 |
| a | y | 2 | 2017/1/2 | 2017/1/2 12:00:00 |
| b | x | 3 | 2017/1/3 | 2017/1/3 13:00:00 |
| a | z | 4 | 2017/1/4 | 2017/1/4 14:00:00 |
查询日期时间

发现虽然:日期时间between and 包含了1月3日,但是查询结果是没有1月3日的,这个问题是由于 这个字段是日期时间格式;
日期时间between'2017-01-01'and'2017-01-03'等价于'between 2017-01-01 00:00:00 and 2017-01-03 00:00:00'
但是已经知道 2017-01-03 00:00:00 等于 2017-01-02 23:59:59 所以时间筛选中 只包含1日和2日的,没有3日的数据
解决此问题,可以将日前时间类型,转换成日期行 date(日期时间) between '2017-01-01' and '2017-01-03' 就可以了

参考
无
文章转载自SQL数据分析,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




