gpt4 book ai didi

mysql - SQL 两个日期之间的所有天数

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

我目前正忙于从我们的一个数据库中整理出一些查询。给我问题的表格看起来大致如下:

id   | bookingStartDate | bookingEndDate | bookingLength |  customerID | roomNumber
-----------------------------------------------------------------------------------
310 | 2016-11-10 | 2016-11-17 | 7 | 004943 | 583
443 | 2017-01-15 | 2016-11-29 | 14 | 008745 | 345

我想要实现的是提供一个关于特定时间窗口内特定房间可用性的好主意。根据当前存储数据的方式,我确实可以访问预订的开始和结束时间以及预订将持续的天数。

我想做的是创建一个查询来检查指定日期范围内的特定房间的可用性,例如从 2016 年 11 月 10 日到 11 月 20 日。

为了解决这个问题,我尝试将日历表与此表连接起来并过滤房间号。然而,连接依赖于 bookingStartDate 或结束日期,我不确定如何继续获取数据以显示房间也被占用时两者之间的天数。

如有任何帮助或建议,我们将不胜感激!

最佳答案

使用日历表:

set @PeriodStart = '2016-01-01';
set @PeriodEnd = '2017-12-31';
set @Room = 583;

select Ca.Date,
Bo.RoomNumber,
Bo.CustomerID

from Calendar Ca
left join Booking Bo
on Ca.Date between Bo.StartDate and Bo.EndDate

where Ca.Date between @PeriodStart and @PeriodEnd
and RoomNumber = @Room ;

这将显示@PeriodStart 和@PeriodEnd 之间的所有日期,以及该房间在该期间的任何预订

关于mysql - SQL 两个日期之间的所有天数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39999396/

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