收藏 sql server 2000查询时四个时间段的交集!

来源:http://bbs.csdn.net/topics/360183939

问题:

表中有两个字段,一个是开始时间,一个是结束时间。
字段一如:2011-01-01
字段二如:2011-03-31

查询条件如下:
条件一:2011-03-02
条件二:2011-04-01

如何在查询语句中判断第二组在第一组中是否有交集

就是判断   2011-01-01 至 2011-03-31 包含第二组的  2011-03-02 至 2011-03-31 

表中有两个字段   一个是存的开始时间  一个存的是结束时间    
查询条件中 有个开始时间  有个结束时间,查询时有交集的就说明查询条件成立 
--------------------------------------------------

要点:

SELECT * FROM tbwhere 开始时间 <= 条件二 and 结束时间 >= 条件一

------

SELECT  FROM  tb where   开始时间 < 条件二  and   结束时间 > 条件一
--查询所有的交集记录

------

1、 开始时间between 条件一 and 条件二
2、 结束时间between 条件一 and 条件二
3、 开始时间 < 条件一 and  结束 时间 >条件二

where 1 or 2 or 3

------

SELECT *  FROM 表 WHERE (

(结束时间BETWEEN @sTime AND @eTime ) OR

(开始时间 BETWEEN @sTime AND @eTime ) OR

(@sTime BETWEEN 开始时间 AND 结束时间) OR 

(@eTime BETWEEN 开始时间 AND 结束时间))


------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值