Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Menghitung hari libur:jumlah hari Sabtu dan Minggu dalam kueri rentang tanggal tertentu di Oracle

Anda dapat menggunakan ROW GENERATOR teknik untuk membuat tanggal untuk rentang tertentu terlebih dahulu, lalu hanya menghitung SABTU dan MINGGU .

Misalnya, kueri ini akan memberi saya jumlah total hari Sabtu dan Minggu antara 1 Jan 2014 dan 31 Des 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>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghubungkan Oracle ke Amazon Aurora

  2. Setel batas waktu koneksi database Oracle 10g di Java

  3. Rollback tidak berfungsi di Oracle menggunakan liquibase

  4. Mentransposisi dan menggabungkan data kolom Oracle

  5. Di server SQL, bagaimana saya bisa menanyakan kolom Oracle Timestamp melalui koneksi server Tertaut?