问题在于没有处理时分秒,
若传入两个日期为年月日,mysql默认为0时0分0秒起止
如 BETWEEN ‘2018-10-01’ AND ‘2018-11-01’;
即‘2018-10-01 00:00:00’到‘2018-11-01 00:00:00‘
解决方法,统一格式即可:
1、推迟一天,用 BETWEEN ‘2018-10-01’ AND DATE_ADD(‘2018-11-01’,INTERVAL 1 DAY);
2、对要查询的时间字段做处理,DATE_FORMAT(a.create_time,'%Y-%m-%d') BETWEEN ‘2018-10-01’ AND ‘2018-11-01’
本文解析了MySQL中使用BETWEEN进行日期查询时的常见误区,即默认从0时0分0秒开始计时,导致查询结果不准确。提供了两种解决方案:一是通过DATE_ADD函数将结束日期延后一天;二是对查询字段进行DATE_FORMAT格式化处理,确保查询精度。
288

被折叠的 条评论
为什么被折叠?



