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


 

 

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

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

  后來簡化思路:  只要查詢自己選擇的時間段  和 數據庫里面的時間段 是否有交集 不就可以了么?

   逆向思維, 利器。

 

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

數據庫的字段 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)
)

  


兩種結果相同
以上。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM