SQL 如何排除银行假日和圣诞节日期差异



任何建议将不胜感激 如何排除英国日期差异中的银行假期,圣诞节

我有一个客户表,其中包含所有在酒店预订的客户,我想计算住宿时间,但我想排除英国的银行假期和其他假期。

非常感谢

SELECT  [StartDate],
DATEDIFF(DAY,[StartDate],[EndDate]) AS Bookingdays    
,[EndDate]
,[CustomerId]
,[BookingID]
FROM [CustomerBooking]

要实现这一点,您将需要一个 HolidayCalendar 表,其中将列出所有假期日期和圣诞节。

使用该日历表过滤您的预订日期WHERE StartDate NOT IN (SELECT HolidayDate from HolidayCalendar) OR EndDate NOT IN (SELECT HolidayDate from HolidayCalendar)

您可以使用 JOINS 或 CTE 通过其他多种方式过滤日期,并具有更优化的查询。上面的代码只是一个示例。

最新更新