mysql 获取包含开始结束时间的区间

请添加图片描述

分析:目的取包含开始时间的1234时间段,排除AB段时间

⚠️注意<>自行替换

1.直接查4个段or连接

    ((start_time > #{startTime} AND (#{endTime} > end_time OR (#{endTime} >  start_time AND #{endTime} &lt; end_time)))
    OR
    ( start_time &lt; #{startTime} AND (#{endTime} > end_time OR (#{startTime} >  start_time AND #{startTime} &lt; end_time))))



2.【推荐】 观察1234时间段的规则,发现4个开始start_time都小于结束时间,
同时结束end_time都大于开始时间
 end_time > #{startTime} and start_time < #{endTime} 



3.获取AB段时间  子查询not in AB区间的都算
 endTime > #{startTime} and startTime < #{endTime} 

版权声明:本文为qq_34103387原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。