这适用于(MS SQL Server 2008)它允许用户安排其他用户的开始和结束日期/时间,而不会重叠。
我正在解决在日程安排期间不能重叠个人的业务规则。EG,如果用户 1 计划从 2012 年 1 月 1 日到 2012 年 1 月 4 日,则用户 2 应该无法提交 2012 年 1 月 2 日到 2012 年 1 月 4 日的请求。这部分已经处理好了,这是我的SQL。
SELECT * FROM fooTable
WHERE
Prim = 1
AND
Group = 10
AND
(('2012-06-01 08:01' between startdate and enddate
OR '2012-06-03 08:01' between startdate and enddate)
OR
('2012-06-01 08:01' < startdate) AND ('2012-06-03 8:01' > enddate))
我现在有一个要求,允许时间表重叠,因为新班次可以在最后一个班次结束时开始。例如,我的结束日期是 2012 年 1 月 1 日晚上 8:00 - 我应该可以安排某人在 2012 年 1 月 1 日和晚上 8:00 开始。
需要一些帮助来思考这个问题。