Re: generate_series with month intervals - Mailing list pgsql-general

From Tom Lane
Subject Re: generate_series with month intervals
Date
Msg-id 28853.1168544159@sss.pgh.pa.us
Whole thread Raw
In response to generate_series with month intervals  (Marcus Engene <mengpg@engene.se>)
Responses Re: generate_series with month intervals  (Marcus Engene <mengpg@engene.se>)
List pgsql-general
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

pgsql-general by date:

Previous
From: Jonathan Hedstrom
Date:
Subject: Re: ERROR: invalid memory alloc request size, and others
Next
From: "Patrick Earl"
Date:
Subject: Re: Checkpoint request failed on version 8.2.1.