Re: Selecting consecutive dates as integers in yyyymmdd format

From: bricklen <bricklen(at)gmail(dot)com>
To: AlexK <alkuzo(at)gmail(dot)com>
Cc: "pgsql-sql(at)postgresql(dot)org" <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Selecting consecutive dates as integers in yyyymmdd format
Date: 2014-02-19 23:25:49
Message-ID: CAGrpgQ-yDt85-u6EL4qsr-0aa6XB=sU-2=1X1oGVP-_WYt9tTw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

On Wed, Feb 19, 2014 at 2:18 PM, AlexK <alkuzo(at)gmail(dot)com> wrote:

> The following code gets the job done, but I am wondering if there is a
> simpler/cleaner way?
>
> WITH start_date AS(SELECT DATE '2014-02-18' AS start_date)
> select CAST( to_char(start_date + INTERVAL '1d'*i,'YYYYMMDD') AS INT) AS
> end_range
> from generate_series(1,100) AS i CROSS JOIN start_date;
>

You can use the other variation of generate_series to use dates directly:

select to_char(ymd,'YYYYMMDD') ymd from
generate_series('2014-02-18'::date,'2014-03-18'::date,'1 day'::interval)
ymd;
ymd
----------
20140218
20140219
20140220
20140221
20140222
20140223
...

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Pavel Stehule 2014-02-20 04:17:05 Re: How to unnest an array with element indexes
Previous Message AlexK 2014-02-19 22:18:13 Selecting consecutive dates as integers in yyyymmdd format