重疊我有一個表tblBranchTimingEntry檢查日期是在SQL
+---------------+-------------------------+-------------------------+------------------+
| BranchEntryID | fromDate | toDate | SundayIn |
+---------------+-------------------------+-------------------------+------------------+
| 24 | 2015-01-01 00:00:00.000 | 2015-01-31 00:00:00.000 | 12:00:00.0000000 |
| 24 | 2015-02-01 00:00:00.000 | 2015-02-15 00:00:00.000 | 12:00:00.0000000 |
| 24 | 2015-03-01 00:00:00.000 | 2015-03-31 00:00:00.000 | 00:00:00.0000000 |
| 24 | 2014-01-01 00:00:00.000 | 2014-12-31 00:00:00.000 | 00:00:00.0000000 |
+---------------+-------------------------+-------------------------+------------------+
要求
我給輸入BranchEntryID,沒有fromdate,TODATE,我要檢查,如果之間的任何日期fromDate和toDate與存儲在tblBranchTimingEntry中的日期範圍重疊。
我做了什麼至今
我有這個疑問
SELECT
*
FROM
[dbo].[tblBranchTimingEntry]
WHERE
BranchEntryId = 24
AND
('2015-01-14' BETWEEN fromDate AND toDate OR '2015-02-28' BETWEEN fromDate AND toDate)
這將檢查的重疊。
問題
如果輸入日期落在目前在DB日期間這隻會工作。 這個例子會失敗。
假設我給日期和日期爲'2015-02-16'和'2015-08-27', 此查詢不會返回任何內容。但是這些日期之間有日期重疊。
ANy解決方案?
的可能重複[確定是否兩個日期範圍重疊(HTTP://計算器的.com /問題/ 325933 /確定-是否-兩日期範圍,重疊) – Magnus 2015-02-23 12:20:34