SQL, aby zwrócić liczbę dni roboczych między 2 podanymi datami

Muszę napisać zapytanie sql, które zwraca liczbę dni roboczych (poniedziałek - piątek) między dwiema podanymi datami.

Zastanawiałem się, jaki byłby najbardziej skuteczny sposób, aby to zrobić?

SELECT           --Start with total number of days including weekends             
(DATEDIFF(dd,@StartDate,@EndDate)+1) --Subtact 2 days for each full weekend 
(DATEDIFF(wk,@StartDate,@EndDate)*2) --If StartDate is a Sunday, Subtract 1          
ELSE 0               END)            --If EndDate is a Saturday, Subtract 1 
FROM dual

W takim razie pomocne byłoby również usunięcie dni wolnych od pracy, takich jak dzień świąteczny i dzień boksu.

Jakieś pomysły?

questionAnswers(6)

yourAnswerToTheQuestion