Bạn có thể sử dụng MÁY PHÁT ĐIỆN ROW kỹ thuật để tạo ngày đầu tiên cho một phạm vi nhất định, sau đó chỉ đếm NGÀY THỨ BẢY và CHỦ NHẬT .
Ví dụ:truy vấn này sẽ cung cấp cho tôi tổng số các ngày thứ bảy và chủ nhật từ ngày 1 tháng 1 năm 2014 đến ngày 31 tháng 12 năm 2014 -
SQL> WITH DATA AS
2 (SELECT to_date('01/01/2014', 'DD/MM/YYYY') date1,
3 to_date('31/12/2014', 'DD/MM/YYYY') date2
4 FROM dual
5 )
6 SELECT SUM(holiday) holiday_count
7 FROM
8 (SELECT
9 CASE
10 WHEN TO_CHAR(date1+LEVEL-1, 'DY','NLS_DATE_LANGUAGE=AMERICAN') IN ('SAT', 'SUN')
11 THEN 1
12 ELSE 0
13 END holiday
14 FROM data
15 CONNECT BY LEVEL <= date2-date1+1
16 )
17 /
HOLIDAY_COUNT
-------------
104
SQL>