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

Postgresql generate_series của tháng

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

Chỉnh sửa

Nếu bạn cần tính toán con số động, những điều sau có thể hữu ích:

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

Điều này tính toán số tháng kể từ năm 2008-01-01 và sau đó cộng thêm 12 tháng.

Nhưng tôi đồng ý với Scott:bạn nên đặt điều này vào một hàm trả về đã đặt, để bạn có thể thực hiện điều gì đó như 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. làm thế nào để thay đổi cổng nghe postgresql trong windows?

  2. Tại sao thậm chí sử dụng * DB.exec () hoặc các câu lệnh chuẩn bị sẵn trong Golang?

  3. Cách sử dụng pgBackRest để sao lưu PostgreSQL và TimescaleDB

  4. Hệ thống tệp Linux và điểm chuẩn điểm kiểm tra PostgreSQL

  5. Ràng buộc thả PostgreSQL với tên không xác định