sql >> Databáze >  >> RDS >> Oracle

Řádek pro každé datum od data zahájení do data ukončení

Použijte rekurzivní klauzuli faktorování poddotazů:

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;

Což pro vaše ukázková data:

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

Výstupy:

db<>fiddle zde



  1. Jak používat GRANT s proměnnými?

  2. Nahraďte všechna pole v MySQL

  3. Propojte PDO s databází Oracle

  4. Skupina MySQL podle po sobě jdoucích vzhledů