网络编程
位置:首页>> 网络编程>> 数据库>> MySQL判断时间段是否重合的两种方法

MySQL判断时间段是否重合的两种方法

作者:小旭2021  发布时间:2024-01-21 02:41:05 

标签:MySQL,判断,时间段,重合

两种写法。如图,4种重合情况和2种不重合情况。

MySQL判断时间段是否重合的两种方法

第一种写法:

-- 时间段 a,b  
SELECT * FROM table WHERE
      (start_time >= a and end_time <= b) -- 被包含了
   or (end_time >= a and end_time <=b)
   or (start_time >= a and start_time <=b)
   or (start_time <= a and end_time >=b)

解析:where后的4个条件分别代表了图中4种重合的情况。
但是第一种情况被2和3包含了,所以简化一下写法:

SELECT * FROM table WHERE
   (end_time >= a and end_time <=b)
   or (start_time >= a and start_time <=b)
   or (start_time <= a and end_time >=b);

第二种写法:

SELECT * FROM table WHERE not (start_time > b or end_time < a);

来源:https://www.cnblogs.com/chenyablog/p/14644706.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com