Oracle
 sql >> Baza danych >  >> RDS >> Oracle

drukuj datę rozpoczęcia i zakończenia w jednym wierszu dla ciągłych lub nakładających się zakresów dat w Oracle SQL

Istnieje eleganckie (i wydajne) rozwiązanie wykorzystujące match_recognize klauzula (która wymaga Oracle 12.1 lub nowszego).

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. Obsługiwane modele formatów dla funkcji daty ROUND() i TRUNC() w Oracle

  2. PLS-00428:w tej instrukcji SELECT oczekiwana jest klauzula INTO

  3. Tworzenie timera w Oracle Forms / Forms 6i i wyświetlanie zegara

  4. Jak przeprowadzić migrację bazy danych Oracle z AWS EC2 do AWS RDS

  5. Oracle Pl/SQL:Pętla przez węzły XMLTYPE