SQL 查询两个时间段是否有交集的情况 三种写法
2021-04-26 09:55 会飞的雪鹿 阅读(2091) 评论(0) 编辑 收藏 举报mysql 写法 其他一样
数据库的字段 start_time, end_time
输入的字段 a,b
第一种
SELECT * FROM test_table WHERE (start_time >= a AND start_time <= b) OR (start_time <= a AND end_time >= b) OR (end_time >= a AND end_time <= b)
第二种
SELECT * FROM test_table WHERE NOT ( (end_time < a OR (start_time > b) )
第三种
SELECT * FROM test_table WHERE end_time >= a and start_time <= b
三种结果相同 推荐用第三种 200万数据测试 第一种23秒 第三种19秒