mysql 时间段查询 SQL优化
转 https://blog.csdn.net/qq_34103387/article/details/125781283
分析:目的取包含开始时间的 1234 时间段,排除 AB 段时间
注意<>自行替换
1.直接查4个段or连接
((start_time > #{startTime} AND (#{endTime} > end_time OR (#{endTime} > start_time AND #{endTime} < end_time)))
OR
( start_time < #{startTime} AND (#{endTime} > end_time OR (#{startTime} > start_time AND #{startTime} < end_time))))
2.【推荐】 观察1234时间段的规则,发现4个开始start_time都小于结束时间,
同时结束end_time都大于开始时间
end_time > #{startTime} and start_time < #{endTime}