2012-05-03 281 views
0

我需要查詢將檢查用戶提供的日期範圍是在現有的表startdate和enddate之間。 如果用戶提供的日期範圍的任何日期位於表開始日期和結束日期之間,則應該從表中重新開始該記錄。日期範圍的日期範圍之間的任何日期

例如用戶供應時間範圍是從1 2012年5月到5可以2012. 然後查詢必須檢查 1可能2005 2可以2005 3可能2005 4可以2005 5可以2005 (所有日期)位於現有表的startdate和enddate之間。

請回復。

+0

請提供一些代碼.. –

+0

雖然也有其他的方法來做到這一點,但只是爲這個內置的運營商基本的SQL標準:BETWEEN ](http://msdn.microsoft.com/en-us/library/ms187922.aspx)。 –

回答

6

重疊測試兩個區間:

('2012-05-01' <= enddate 
AND startdate <= '2012-05-05' 
) 
+0

太簡單了!謝謝! – merger

+0

當我創建查詢一件事我清楚的是,我不能在這裏運營商之間使用。我必須使用大於和小於運營商來實現這一邏輯。 – RAHUL

+0

我無法理解它是如何工作的,但它適用於我.Thanx ... – RAHUL

1
Select * from table where datecolumn between @date1 and @date2