我需要檢查兩個日期是否與我的數據庫中的另外兩個日期重疊。MySQL檢查兩個日期範圍是否與輸入重疊
我的數據庫看起來像這樣
+----+--------------+------------+------------+
| id | code | StartDate | EndDate |
+----+--------------+------------+------------+
| 1 | KUVX-21-40 | 2013-10-23 | 2013-11-22 |
| 2 | UEXA286-1273 | 2013-10-30 | 2013-11-29 |
| 3 | UAJFAU-2817 | 2013-10-21 | 2013-11-20 |
| 4 | KUVX-21-40 | 2013-10-30 | 2013-11-29 |
+----+--------------+------------+------------+
在我的查詢我指定的範圍:一個開始日期和結束日期 讓ASIGN它們如下:
ScopeStartDate = "2013-10-1"
ScopeEndDate = "2013-11-26"
以上應該返回我所有的記錄,因爲全部都是時間跨度。
但是我不能讓查詢工作:/
我已經試過,沒有運氣以下查詢:
WHERE
(
(StartDate < ScopeStartDate AND StartDate > ScopeStartDate)
OR
(StartDate > ScopeStartDate AND EndDate < ScopeEndDate)
)
這將返回我的兩個結果: 1和3
我做錯了什麼?
如果我明白你想,這應該是什麼「和」 insted的的「OR」 –
哪有'(起始日期 ScopeStartDate)「永遠是真的嗎?它不能越來越小。 –
正確,比較器也是錯誤的。 –