Mysql 查詢時間段是否可用,查詢時間段是否有交集

 

 

  最近遇到 相似, 會議室預訂的模型,  基本上 是  會議室 + 時間段來檢測是否被佔用。sql

  其實思路比較簡單 , 一開始的思路是 去查詢 本身選擇的時間段 與數據庫已經存在的時間段匹配  是否 可用,這種實現太繁瑣,並且思路貌似很混亂,數據庫

  後來簡化思路:  只要查詢本身選擇的時間段  和 數據庫裏面的時間段 是否有交集 不就能夠了麼?.net

   逆向思惟, 利器。blog

 

  如下 轉自: https://blog.csdn.net/a312024054/article/details/76786739table

數據庫的字段 start_time, end_timeclass

輸入的字段 a,btest

第一種im

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)
)

  


兩種結果相同
以上。查詢

相關文章
相關標籤/搜索