2013-07-11 89 views
2

我有幾個日期範圍:如何檢查日期是否在幾個範圍之間?

01/01/2010 - 03/01/2010 
05/01/2010 - 06/01/2010 
08/01/2010 - 16/01/2010 

是否有可能在SQL檢查,如果像02/01/2010日期是這個範圍之間?

+7

只需使用或聲明是太複雜/不合適? –

+0

或聲明是好的,但我不知道我會有多少個範圍... – Mat

+1

那是我在問我天真的問題。所以你應該在你的問題中描述這個問題的一部分,如果你想得到很好的答案; –

回答

4

嘗試這一個 -

DECLARE @temp TABLE 
(
     DateFrom DATETIME 
    , DateTo DATETIME 
) 

INSERT INTO @temp (DateFrom, DateTo) 
VALUES 
    ('20100101', '20100103'), 
    ('20100105', '20100106') 

IF EXISTS(
    SELECT 1 
    FROM @temp 
    WHERE '20100102' BETWEEN DateFrom AND DateTo 
) 
    PRINT '2010-01-02 between any of these ranges' 
+0

沒關係,但我不知道我會有多少個範圍,所以如何填充臨時表? – Mat

+0

這只是一個小樣本。只需在SELECT塊中將'@ temp'替換爲'your_table_name'即可。 – Devart

相關問題