won*_*t77 14 sql t-sql datetime
我试图找出sql(首选t-sql)中是否有一种方法来识别日期范围是否介于另一个日期范围之间.
出于我的例子的目的:daterange1 =我有一个定义的日期范围,日期是2012年1月1日 - 1/5/2012daterange2 =我有两个其他日期可以使用,比如说1/3/2012和1/4/2012
我试图在CASE声明中使用此类似的东西
CASE
WHEN daterange1 = 0 then result1
WHEN daterange2 falls within daterange1 then result2
END as datestuff
Run Code Online (Sandbox Code Playgroud)
这在SQL中可能吗?我真的很难过这个,我知道如何判断一个日期是否在一个范围之间,但如何用日期范围完成?答案不一定需要在CASE声明中,但它是首选.
Ric*_*iwi 25
你怎么能得到daterange1 = 0,因为它是一个范围,即2个值?
重叠日期的正确测试是
CASE WHEN @range1start <= @range2end
and @range2start <= @range1end THEN 1 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)
如果你的意思是daterange2必须完全落在daterange1中,那么
CASE WHEN @range1start <= @range2start
and @range2end <= @range1end THEN 1 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12289 次 |
| 最近记录: |