2013-07-11 62 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

相关问题