来源: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
结束时间 > 条件一
--查询所有的交集记录
------
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 结束时间))
------