Na podstawie mojej odpowiedzi tutaj:
Uzyskaj liczbę dni między poniedziałkami w obu tygodniach (za pomocą TRUNC( datevalue, 'IW' )
jako NLS_LANGUAGE
niezależna metoda znajdowania poniedziałku tygodnia), następnie dodaj dzień tygodnia (poniedziałek =1, wtorek =2 itd., do maksymalnie 5, aby zignorować weekendy) dla daty końcowej i odejmij dzień tygodnia dla data rozpoczęcia. Tak:
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