任何建议将不胜感激 如何在英国datediff中排除银行假期,圣诞节
我有一个客户表,其中包含所有在酒店的客户预订,我想计算停留时间,但是我想排除英国的银行假期和其他假期。
非常感谢
SELECT [StartDate],
DATEDIFF(DAY,[StartDate],[EndDate]) AS Bookingdays
,[EndDate]
,[CustomerId]
,[BookingID]
FROM [CustomerBooking]
答案 0 :(得分:0)
要实现此目的,您将需要一个HolidayCalendar表,其中将列出所有假日日期和圣诞节。
使用该日历表过滤您的预订日期WHERE StartDate NOT IN (SELECT HolidayDate from HolidayCalendar) OR EndDate NOT IN (SELECT HolidayDate from HolidayCalendar)
您可以使用JOINS或CTE以及其他更优化的查询,通过其他多种方式过滤日期。上面的代码只是一个例子。