2013-07-02 68 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

相關問題