加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

确定日期范围是否在另一个日期范围之间 – sql

发布时间:2020-12-12 06:24:22 所属栏目:MsSql教程 来源:网络整理
导读:我试图找出sql(t-sql首选)中是否存在一种方法,以确定日期范围是否在另一个日期范围之间. 为了我的例子: daterange1 =我有一个定义的日期范围,日期是1/1/2012 – 1/5/2012 daterange2 =我有两个其他的日期可以使用,让我们说1/3/2012和1/4/2012 我试图让这个在
我试图找出sql(t-sql首选)中是否存在一种方法,以确定日期范围是否在另一个日期范围之间.

为了我的例子:
daterange1 =我有一个定义的日期范围,日期是1/1/2012 – 1/5/2012
daterange2 =我有两个其他的日期可以使用,让我们说1/3/2012和1/4/2012

我试图让这个在CASE语句中使用这样的东西

CASE 
    WHEN daterange1 = 0 then result1
    WHEN daterange2 falls within daterange1 then result2 
    END as datestuff

这是可能在SQL中吗?我真的很喜欢这个,我知道如何确定一个日期是否在一个范围之间,但是如何在日期范围内完成?答案不一定需要在CASE语句中,但它是首选.

解决方法

你如何得到daterange1 = 0,因为它是一个范围,即2个值?

对于重叠日期的适当测试是

CASE WHEN @range1start <= @range2end
      and @range2start <= @range1end THEN 1 ELSE 0 END

如果你的意思是daterange2必须在daterange1之内完成

CASE WHEN @range1start <= @range2start
      and @range2end <= @range1end THEN 1 ELSE 0 END

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读