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

标签 mysql database datetime datepicker

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

共有三个选项: - 重叠的时间/日期 - 在时间/日期之间 - 大约时间/日期

数据库示例:

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

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

用户输入的预订(AROUND existing dates),

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

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

最佳答案

我想这就是你想要的逻辑:

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

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

关于mysql - 我有 2 个日期选择器,我想选择在此日期之间或之外重叠的 2 个日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26677350/

相关文章:

php - 设置 phpMyAdmin 用户名和密码

mysql - dart:如何使用sqljocky连接器将数据从mysql显示到浏览器

java - java高效地将数据插入数据库

node.js - 社交网络中 "Likes"的数据库设计 (MongoDB)

mysql - 如何使用 mysql 查询分割这个字符串?

Python 和 Matplotlib - 从字符串创建日期刻度

php - 日期验证的正则表达式帮助 - dd/mm/yyyy - PHP

mysql - ruby rails : Find the record with lowest value of a specific column

C# 日期之间出现的月份和日期

mysql - 在 Rails 环境中打开单独的 MySQL 连接是一个坏主意吗?