我制作的停车预订系统的开始时间/日期和结束时间/日期。 你不能同时保留同一个地点,因为它已经被另一辆车占用了。
有三种选择: - 重叠时间/日期 - 时间/日期之间 - 围绕时间/日期
数据库示例:
STARTTIME | ENDTIME
2014-11-14 13:00:00 | 2014-11-16 14:00:00
我想在数据库中搜索所有不可用的日期。 例如:
按用户输入新预订(AROUND excisting dates),
STARTTIM | ENDTIME
2014-11-13 10:00:00 | 2014-11-17 16:00:00
如果新预订以任何方式与强制预订重叠,则查询应输出所有不可用的日期
答案 0 :(得分:0)
我认为这是你想要的逻辑:
select t.*
from table t
where p.starttime < @EndTime and p.EndTime > @StartTime;
其中@StartTime
和@EndTime
是用户输入的变量。这个想法是,如果一个在另一个结束之前开始,并且第一个在另一个开始之后结束,则两个时期重叠。