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}

posted @ 2023-01-10 18:49  托马斯布莱克  阅读(558)  评论(0编辑  收藏  举报