可能重复:
How can I determine in SQL Server if a dateTime range overlaps anotherSQL Server和BETWEEN
嗨, 我想,以确定是否给定的开始时间,并与另一条记录的结束时间冲突。我目前使用下面的查询,如果我得到的1个或多个结果,我知道它已经发生冲突:
SELECT
Sheet.SheetID,
Sheet.StartTime,
Sheet.EndTime,
FROM
Sheet
WHERE
AND @StartTime BETWEEN Sheet.StartTime AND Sheet.EndTime
OR @EndTime BETWEEN Sheet.StartTime AND Sheet.EndTime
这种运作良好,但一个真正的用户应该能够进入相同的开始时间之前的结束时间,即。上班时间是早上6点,新工作开始时间是早上6点。上述查询不允许出现这种情况。
我有一种感觉,我可能需要使用大于和小于,而不是之间,但很想听到任何建议。
在此先感谢