Phỏng theo câu trả lời của tôi ở đây:
Nhận số ngày giữa các ngày Thứ Hai của cả hai tuần (sử dụng TRUNC( datevalue, 'IW' )
dưới dạng NLS_LANGUAGE
phương pháp độc lập để tìm Thứ Hai trong tuần) sau đó thêm ngày trong tuần (Thứ Hai =1, Thứ Ba =2, v.v., tối đa là 5 để bỏ qua các ngày cuối tuần) cho ngày kết thúc và trừ ngày trong tuần cho ngày bắt đầu. Như thế này:
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