Adaptado da minha resposta aqui:
Obtenha o número de dias entre as segundas-feiras de ambas as semanas (usando
TRUNC( datevalue, 'IW' )
como um NLS_LANGUAGE
método independente de encontrar a segunda-feira da semana) em seguida, adicione o dia da semana (segunda =1, terça =2, etc., até um máximo de 5 para ignorar fins de semana) para a data final e subtraia o dia da semana para a data de início. Assim:SELECT ( TRUNC( end_date, 'IW' ) - TRUNC( start_date, 'IW' ) ) * 5 / 7
+ LEAST( end_date - TRUNC( end_date, 'IW' ) + 1, 5 )
- LEAST( start_date - TRUNC( start_date, 'IW' ) + 1, 5 )
AS WeekDaysDifference
FROM your_table