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

Oracle:Hari antara dua tanggal dan Kecualikan hari kerja bagaimana menangani angka negatif

Diadaptasi dari jawaban saya di sini:

Dapatkan jumlah hari antara hari Senin dari kedua minggu (menggunakan TRUNC( datevalue, 'IW' ) sebagai NLS_LANGUAGE metode independen untuk menemukan Senin dalam seminggu) kemudian tambahkan hari dalam seminggu (Senin =1, Selasa =2, dll., hingga maksimum 5 untuk mengabaikan akhir pekan) untuk tanggal akhir dan kurangi hari dalam seminggu untuk tanggal mulai. Seperti ini:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TRANSLATE() Fungsi di Oracle

  2. Data Warehousing ETL Data Profiling dengan Oracle Warehouse Builder

  3. ORA-28000:akun sering error

  4. Oracle - Tampilan Terwujud masih dapat diakses selama penyegaran lengkap. Bagaimana cara kerjanya?

  5. Apa dan kapan saya harus menentukan setFetchSize()?