我在我的select语句如下:如何计算,如果工作日是超过6天,从今天的日期
CASE WHEN DATEADD(DAY, - 5, GETDATE()) > [Date] THEN '6+' ELSE NULL END AS Test
这工作得很好,但它也包括周末。如果今天的日期--5是>日期,我将如何去计算不计算周末的部分?我只想使用5个工作日,而不是周末。
我在我的select语句如下:如何计算,如果工作日是超过6天,从今天的日期
CASE WHEN DATEADD(DAY, - 5, GETDATE()) > [Date] THEN '6+' ELSE NULL END AS Test
这工作得很好,但它也包括周末。如果今天的日期--5是>日期,我将如何去计算不计算周末的部分?我只想使用5个工作日,而不是周末。
这将排除周六和周日从CASE
:
CASE WHEN
(
(DATEADD(DAY, - 5, GETDATE()) > [Date])
AND
(DATEPART(WEEKDAY, DATEADD(DAY, - 5, GETDATE())) NOT IN (7,1))
)
THEN '6+' END AS Test
所以如果在5天回是周末,你想它只是返回'NULL'? – JNK 2013-02-28 21:21:08
是的,这是正确的 – mameesh 2013-02-28 21:21:57
只需将-5更改为-7。五个工作日之外 - 不包括假期 - 将持续一周。瞧,7天。 – 2013-02-28 21:23:42