我有2个日期选择器,我想在这个日期之间或之外选择重叠的2个日期

时间:2014-10-31 14:44:39

标签: mysql database datetime datepicker

我制作的停车预订系统的开始时间/日期结束时间/日期。 你不能同时保留同一个地点,因为它已经被另一辆车占用了。

有三种选择: - 重叠时间/日期 - 时间/日期之间 - 围绕时间/日期

数据库示例:

  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

如果新预订以任何方式与强制预订重叠,则查询应输出所有不可用的日期

1 个答案:

答案 0 :(得分:0)

我认为这是你想要的逻辑:

select t.*
from table t
where p.starttime < @EndTime and p.EndTime > @StartTime;

其中@StartTime@EndTime是用户输入的变量。这个想法是,如果一个在另一个结束之前开始,并且第一个在另一个开始之后结束,则两个时期重叠。