Marcus Engene <mengpg@engene.se> writes:
> I tried this but it didn't work:
> select date_trunc ('month', now())::date + interval s.a || ' months'
> from generate_series(0, 11) as s(a)
People keep trying that :-(. The "typename 'foo'" syntax is for a
*literal constant* only. Instead use multiplication, something like
select (date_trunc('month', now())::date + s.a * '1 month'::interval)::date
from generate_series(0, 11) as s(a)
You'll want the cast back to date as the last step here because
date+interval will give timestamp.
regards, tom lane