【问题标题】:I have 2 datepickers and I want to select the 2 dates that are overlapping, in between or outside this date我有 2 个日期选择器,我想选择在此日期之间或之外重叠的 2 个日期
【发布时间】:2014-10-31 14:44:38
【问题描述】:

我正在制作一个带有开始时间/日期结束时间/日期的停车预订系统。 您不能同时预订同一个位置,因为它已经被另一辆车占用了。

共有三个选项: - 重叠时间/日期 - 时间/日期之间 - 围绕时间/日期

数据库示例:

  STARTTIME            | ENDTIME                
  2014-11-14 13:00:00  | 2014-11-16  14:00:00

我想在数据库中搜索所有不可用的日期。 例如:

根据用户输入的预订(大约截止日期),

  STARTTIM             | ENDTIME            
  2014-11-13 10:00:00  | 2014-11-17  16:00:00

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

【问题讨论】:

    标签: mysql database datetime datepicker


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的反应,但此代码仅涵盖总重叠,而不是两者之间的一个。
    • @Joost 。 . .文本有正确的逻辑,但代码是错误的。我修复了代码以匹配描述。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多