PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Hasilkan serangkaian bulan untuk setiap baris di Oracle

Ini seharusnya berhasil (abaikan klausa with; itu hanya meniru tabel tst Anda tanpa harus membuat tabel secara fisik):

with tst as (select 1 id, to_date('2014-02-15','yyyy-mm-dd') st_date, to_date('2014-07-01','yyyy-mm-dd') en_date from dual union all
             select 2 id, to_date('2014-03-15','yyyy-mm-dd') st_date, to_date('2014-04-01','yyyy-mm-dd') en_date from dual)
select id, add_months(trunc(st_date, 'month'), level -1) mnth
from   tst
connect by level <= months_between(trunc(en_date, 'mm'), trunc(st_date, 'mm')) + 1
           and prior id = id
           and prior dbms_random.value is not null;

        ID MNTH      
---------- ----------
         1 2014-02-01
         1 2014-03-01
         1 2014-04-01
         1 2014-05-01
         1 2014-06-01
         1 2014-07-01
         2 2014-03-01
         2 2014-04-01



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa format untuk string / URL koneksi PostgreSQL?

  2. SQLAlchemy dan Postgres UnicodeDecodeError

  3. Bagaimana cara terhubung dari docker-compose ke Host PostgreSQL?

  4. Bagaimana cara melakukan tes unit dengan database h2 di mana bpchar digunakan?

  5. Menyortir pohon dengan jalur terwujud?