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

cetak tanggal mulai dan akhir dalam satu baris untuk rentang tanggal yang berkelanjutan atau tumpang tindih di Oracle SQL

Ada solusi elegan (dan efisien) menggunakan match_recognize klausa (yang membutuhkan Oracle 12.1 atau lebih tinggi).

select po, startdate, enddate
from   orders
match_recognize (
  partition by po
  order     by startdate
  measures  first(startdate) as startdate, max(enddate) as enddate
  pattern   ( c* n )
  define    c as max(enddate) + 1 >= next(startdate)  
);


  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 ke Database Oracle menggunakan Layanan Integrasi Server Sql

  2. Pengujian unit untuk PL/SQL

  3. Masalah membangun cx_Oracle - libclntsh.so.11.1 => tidak ditemukan

  4. Bagaimana saya bisa mempercepat row_number di Oracle?

  5. Menggunakan database Oracle dengan CakePHP 2.0