1
我想計算假期:Oracle中給定日期範圍查詢中的星期六和星期日數。計算假期:Oracle中給定日期範圍查詢中的星期六和星期日的數量
我想計算假期:Oracle中給定日期範圍查詢中的星期六和星期日數。計算假期:Oracle中給定日期範圍查詢中的星期六和星期日的數量
您可以使用ROW發電機技術,先產生一個給定範圍的日期,再算上只有週六和週日。
例如,該查詢會給我週六和週日的總數2014年1月1日和2014年12月31日之間 -
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>
不客氣。如果它已解決您的問題,請將其標記爲已回答。 – 2015-02-09 10:19:35
@VishwanthGoud請將其標記爲已回答,以幫助他人。 – 2015-05-29 08:47:23