select string_agg(to_char(mon,'MM'),',') from (
with
mon as(
select
mon::date mon
from generate_series(date_trunc('year', now())::date, date_trunc('year', now())::date + '+1y -1d'::interval,'1mon'::interval) mon
where mon <=(date_trunc('MONTH', now()::date))::date
)
select
*
from mon
)foo
根据你的需求写分隔符,我这里用的逗号分隔的。