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

Baris untuk setiap tanggal dari tanggal mulai hingga tanggal akhir

Gunakan klausa pemfaktoran subquery rekursif:

WITH ranges ( start_dt, end_dt, id ) AS (
  SELECT start_dt, end_dt, id
  FROM   table_name
UNION ALL
  SELECT start_dt + INTERVAL '1' DAY, end_dt, id
  FROM   ranges
  WHERE  start_dt + INTERVAL '1' DAY <= end_dt
)
SELECT start_dt,
       id
FROM   ranges;

Yang mana untuk data sampel Anda:

CREATE TABLE table_name ( start_dt, end_dt, id ) AS
SELECT DATE '2013-04-05', DATE '2013-04-09', 1 FROM DUAL

Keluaran:

db<>fiddle di sini



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pilih dari tampilan gabungan dengan penggabungan tidak berfungsi?

  2. CSV di Pengembang SQL…

  3. Apa itu Undo dan redo di database Oracle

  4. Dapatkan kueri dari file di SPRING BOOT menggunakan @Query

  5. Integrasi ADF dengan EBS