我一直在研究这个问题一段时间了,我似乎无法找到解决方案,希望这里有人可以提供帮助。交叉的日期
目前我正在与微软SQL服务器的管理工作,我一直在努力做到以下几点:
以前,旧的查询将只返回适合两个日期 继承人的以前的查询的结果:在所述查询后产生
SELECT e.Name, o.StartDate, o.EndDate
FROM dbo.Name e, dbo.Date o
WHERE
where e.Name = o.Name
and o.StartDate <= '2010-09-28 23:59:59'
and o.EndDate >= '2010-9-28 00:00:00'
and e.Name like 'A'
实施例表运行(真正的表具有明显更大量的行:P):
Name Start End
A 2010-09-28 07:00:00 2010-09-28 17:00:00
A 2010-09-28 13:45:00 2010-09-28 18:00:00
A 2010-09-28 08:00:00 2010-09-28 16:00:00
A 2010-09-28 07:00:00 2010-09-28 15:30:00
但是我们需要改变这一点,以便查询执行以下操作:
发现相交的天× 日期查找不相交的一天的日期X
我发现一个真正有用的网站 http://bloggingabout.net/blogs/egiardina/archive/2008/01/30/check-intersection-of-two-date-ranges-in-sql.aspx 然而,输入比较日期,我的另一方面必须相交/不相交的所有日期。
感谢大家的帮助。
非常感谢你的朋友,这真的很有帮助,但很简单 – ChickSentMeHighE 2010-06-16 14:17:12