Para obter o último dia do mês considerando apenas dias úteis da semana, execute:

DECLARE @dataHoraAtual DATETIME = GETDATE();
DECLARE @ultimoDiaDoMes DATETIME = DATEADD(DD, -DAY(DATEADD(M, 1, @dataHoraAtual)), DATEADD(M, 1, @dataHoraAtual));

SELECT DATEADD(DAY, CASE DATENAME(WEEKDAY, @ultimoDiaDoMes) 
                    WHEN 'Sunday' THEN -2 
                    WHEN 'Saturday' THEN -1 
                    ELSE -0 END, DATEDIFF(DAY, 0, @ultimoDiaDoMes))

Espero ter ajudado!
Até a próxima

Publicidade