Sql查询需要包括银行假期

Sql查询需要包括银行假期,sql,tsql,Sql,Tsql,我有以下问题: set language 'english' DECLARE @MyDate DATETIME SET @MyDate = dateadd(dd,-1,dateadd(mm,datediff(mm,0,getdate()),0)) SELECT ReportEndDate = DATEADD(dd, CASE WHEN DATENAME(weekday,@MyDate) = 'Saturday' THEN 5 WHEN DATENAME(

我有以下问题:

set language 'english'

DECLARE @MyDate DATETIME

SET @MyDate = dateadd(dd,-1,dateadd(mm,datediff(mm,0,getdate()),0))

SELECT ReportEndDate = DATEADD(dd, CASE 
        WHEN DATENAME(weekday,@MyDate) = 'Saturday' THEN 5 
        WHEN DATENAME(weekday,@MyDate) IN ('Monday','Sunday') THEN 4 
        ELSE 6 END, @MyDate)
如您所见,这将重新计算月末日+4个工作日

我需要把它扩展到包括圣诞节和新年。因此,在计算新月份的第4个工作日时,上述查询会将这些银行假日考虑在内


任何一个指针都会非常宝贵。

构建一个日历表


同意,但也许你可以解释一下他应该如何修改这个查询以利用这个表?我发布的链接比我所能做的要简洁得多;我可以剪切和粘贴这些部分(包括“获取两个日期之间的工作日数”中的查询),但我想我会让原来的帖子自己站起来。