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?