在postgresql的列中生成一系列月份

时间:2013-06-10 19:13:30

标签: sql postgresql generate-series

在postgresql中,如何以“YYYY-MM”格式生成一系列月度日期,最旧的是用户创建月份直到当月?

2 个答案:

答案 0 :(得分:3)

类似的东西:

select to_char(dt, 'YYYY-MM') 
from generate_series(
     date_trunc('month', (select created_at::date from users where id=1234)),
     now(), 
     '1 month'::interval) dt;

答案 1 :(得分:1)

您甚至可以在单个查询级别执行此操作:

SELECT to_char(generate_series(created_at::date
                              ,now(), interval '1 mon'), 'YYYY-MM') AS month
FROM   users
WHERE  users_id = 123   -- users_id is unique