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

Generate_series postgresql dari bulan

select DATE '2008-01-01' + (interval '1' month * generate_series(0,11))

Sunting

Jika Anda perlu menghitung angka secara dinamis, berikut ini dapat membantu:

select DATE '2008-01-01' + (interval '1' month * generate_series(0,month_count::int))
from (
   select extract(year from diff) * 12 + extract(month from diff) + 12 as month_count
   from (
     select age(current_timestamp, TIMESTAMP '2008-01-01 00:00:00') as diff 
   ) td
) t

Ini menghitung jumlah bulan sejak 01-01-2008 dan kemudian menambahkan 12 di atasnya.

Tapi saya setuju dengan Scott:Anda harus memasukkan ini ke dalam set fungsi pengembalian, sehingga Anda dapat melakukan sesuatu seperti select * from calc_months(DATE '2008-01-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. Kesalahan Heroku PostgreSQL GROUP_BY di aplikasi Rails

  2. Bagaimana cara mengaktifkan php untuk bekerja dengan postgresql?

  3. Bagaimana cara mengubah bidang di dalam tipe data PostgreSQL JSON yang baru?

  4. Bagaimana timeofday() Bekerja di PostgreSQL

  5. Cara Mendapatkan Waktu Saat Ini di PostgreSQL