小编Юли*_*бак的帖子

从一个间隔中获取其他间隔中缺少的所有日期

我正在使用如下所示的数据库模式,并且正在努力编写对该模式的查询。

酒店签订有有效期的合同。它也有许多季节,每个季节都有许多时期。任务是返回合同有效期中季节性期间不可用的所有日期。

这是我的架构:

数据库架构

理想情况下,我想获得不包括酒店期间的所有可能的时间间隔。但如果不可能,那么至少有一个日期列表。

示例(所有日期均采用 DD.MM.YYYY 格式):

  • 合约期:1.01.2018 – 31.12.2018
  • 酒店期间:1.01.2018 – 30.06.2018;1.08.2018 – 31.12.2018

在这种情况下,我损失了一个月 1.07.2018 – 31.07.2018。我想得到这个时期,或者几个时期,如果碰巧有几个。所以,像这样:

开始日期 结束日期
--------- ----------
1.07.2018 31.07.2018

如果无法获得期间列表,那么我想获取所有缺失的日期,并将它们分组到服务器端的期间。

mysql mysql-5.6

5
推荐指数
1
解决办法
739
查看次数

标签 统计

mysql ×1

mysql-5.6 ×1