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个工作日时,上述查询会将这些银行假日考虑在内
任何一个指针都会非常宝贵。构建一个日历表
同意,但也许你可以解释一下他应该如何修改这个查询以利用这个表?我发布的链接比我所能做的要简洁得多;我可以剪切和粘贴这些部分(包括“获取两个日期之间的工作日数”中的查询),但我想我会让原来的帖子自己站起来。