SQL возвращает количество рабочих дней между 2, переданными в датах
Мне нужно написать SQL-запрос, который возвращает количество рабочих дней (понедельник - пятница) между двумя указанными датами.
Мне было интересно, что будет самым эффективным способом сделать это?
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
Тогда было бы также полезно убрать из этого числа праздники, такие как Рождество и День подарков.
Есть идеи?