2013-07-02 97 views

回答

0

我结束了使用while循环计数的工作日数。

我一直在一个时间循环退一万一天,直到我得到使用这个平日逻辑平日的所需数量:

set @isweekday=case when (DATEPART(dw, @tempdate) + @@DATEFIRST) % 7 NOT IN (0, 1) then 1 else 0 end 
0

这是我以前作为一个模板,我发现非常有用:

DECLARE @DateOld datetime, @DateNew datetimeSET @DateOld = '10-Sep-2005'SET @DateNew = GETDATE() 
SET DATEFIRST 1 
SELECT DATEDIFF (day, @DateOld, @DateNew) - (2 * DATEDIFF(week, @DateOld, @DateNew)) - CASE WHEN DATEPART(weekday, @DateOld + @@DATEFIRST) = 1 THEN 1 ELSE 0 END - CASE WHEN DATEPART(weekday, @DateNew + @@DATEFIRST) = 1 THEN 1 ELSE 0 END 

来源:http://sqlcode.blogspot.com/2007/07/calculate-number-of-business-days.html

相关问题