between and 处理时间区间不包括右边界问题
2020-6-8 小木 数据库
问题在于没有处理时分秒,
若传入两个日期为年月日,mysql默认为0时0分0秒起止
如 BETWEEN '2020-06-08' AND '2020-06-09';
即'2020-06-08 00:00:00'到'2020-06-09 00:00:00'
解决方法,统一格式即可:
1、推迟一天,用 BETWEEN '2020-06-08' AND DATE_ADD('2020-06-0',INTERVAL 1 DAY);
2、对要查询的时间字段做处理,DATE_FORMAT(a.create_time,'%Y-%m-%d') BETWEEN '2020-06-08' AND '2020-06-09'
另外:
between and和 >= <= ,效率一样的,between and最终也会解析成 >= <=
标签: between and 时间区间 sql效率 >= <=