PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Tạo chuỗi tháng cho mọi hàng trong Oracle

Điều này sẽ thực hiện thủ thuật (bỏ qua mệnh đề with; nó chỉ bắt chước bảng tst của bạn mà không cần phải tạo bảng về mặt vật lý):

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. PDO nhận được phân số giây từ Postgres

  2. ruby postgreSQL trên AMD64

  3. Thứ tự mặc định của danh sách được trả về từ lệnh gọi bộ lọc Django là gì?

  4. Postgresql:Tạo trình tự

  5. Lưu giữ bưu thiếp hoàn toàn trong bộ nhớ