SQL para retornar o número de dias úteis entre 2 passados em datas
Eu preciso escrever uma consulta SQL que retorna o número de dias úteis (segunda a sexta-feira) entre duas datas dadas.
Eu queria saber qual seria a maneira mais eficiente de fazer isso?
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
Então, também seria útil poder remover feriados dessa contagem, como dia de natal e dia de boxe.
Alguma ideia?