sql >> Database >  >> RDS >> Oracle

print start- en einddatum in één rij voor continue of overlappende datumbereiken in Oracle SQL

Er is een elegante (en efficiënte) oplossing met behulp van de match_recognize clausule (waarvoor Oracle 12.1 of hoger vereist is).

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. String splitsen in rijen Oracle SQL

  2. Oracle krijgt checksum-waarde voor een gegevensblok gedefinieerd door een select-clausule

  3. MySql werkt twee tabellen tegelijk bij

  4. rake db:create throws database bestaat niet fout met postgresql