Adaptado de mi respuesta aquí:
Obtenga la cantidad de días entre los lunes de ambas semanas (usando TRUNC( datevalue, 'IW' )
como NLS_LANGUAGE
método independiente para encontrar el lunes de la semana), luego agregue el día de la semana (lunes =1, martes =2, etc., hasta un máximo de 5 para ignorar los fines de semana) para la fecha de finalización y reste el día de la semana para la fecha de inicio. Así:
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