Sql查询需要包含银行假日

时间:2011-11-14 15:55:55

标签: 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(weekday,@MyDate) IN ('Monday','Sunday') THEN 4 
        ELSE 6 END, @MyDate)

你可以看到哪一个月结束了+ 4个工作日。

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

任何指针都会被贬低。