最近遇到 相似, 會議室預訂的模型, 基本上 是 會議室 + 時間段來檢測是否被佔用。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) )
兩種結果相同
以上。查詢