SQL 查询两个时间段是否有交集的情况 三种写法
mysql 写法 其他一样
数据库的字段 start_time, end_time
输入的字段 s1,e1
第一种
SELECT * FROM table
WHERE
(start_time >= s1 AND start_time <= e1)
OR (start_time <= s1 AND end_time >= e1)
OR (end_time >= s1 AND end_time <= e1)
第二种
SELECT * FROM table
WHERE
NOT (
(end_time < s1
OR (start_time > e1)
)
第三种
SELECT * FROM table
WHERE end_time >= s1 and start_time <= e1
三种结果相同