Převzato z mé odpovědi zde:
Získejte počet dní mezi pondělími obou týdnů (pomocí TRUNC( datevalue, 'IW' )
jako NLS_LANGUAGE
nezávislá metoda zjištění pondělí v týdnu), poté přidejte den v týdnu (pondělí =1, úterý =2 atd., maximálně do 5, aby se ignorovaly víkendy) pro datum ukončení a odečtěte den v týdnu pro datum zahájení. Takhle:
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