学习资料笔记

小木的学习笔记

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效率 >= <=