gpt4 book ai didi

mysql - 检查日期是否在日期范围内

转载 作者:行者123 更新时间:2023-11-29 22:24:23 25 4
gpt4 key购买 nike

我正在尝试做一个简单的预订系统,我想要一个sql查询来检查日期是否可用以及日期范围内没有日期被占用。

示例:拍摄日期为:2016-01-01 -> 2016-01-08我必须检查日期,例如:

  • 2015-12-25 - 2016-01-03
  • 2015-12-25 - 2016-01-20
  • 2016-01-04 - 2016-01-06
  • 2016-01-04 - 2016-01-10
  • 2016-01-01 - 2016-01-08

这些是我想到的场景。但在研究过程中,所有示例都有两组日期需要检查。所有场景都不是从数据库中检查未知日期。我搞不清楚了。如果有人可以提供帮助,我将不胜感激。也许您过去曾使用过这种场景。

最佳答案

当 s1 <= e2 且 e1 >= s2 时,两个周期 (s1,e1) 和 (s2,e2) 重叠:

SELECT * FROM tab
WHERE checkInDate <= DATE '2016-01-03' AND checkOutDate >= DATE '2015-12-25';

当 s1 <= s2 且 e1 >= e2 时,周期 (s2,e2) 包含在周期 (s1,e1) 中:

SELECT * FROM tab
WHERE checkInDate <= DATE '2015-12-25' AND checkOutDate >= DATE '2016-01-03';

fiddle

关于mysql - 检查日期是否在日期范围内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30406056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com