RE: DATE_PART() BUG? We have an SQL statement that is giving wro ng output.
Peter Kelly <pkelly@ets.net>
From: Peter Kelly <pkelly@ETS.NET>
To: "'lockhart@fourpalms.org'" <lockhart@fourpalms.org>, pgsql-bugs@postgresql.org
Cc: "'gord@jdp.com'" <gord@jdp.com>
Date: 2001-05-25T15:03:46Z
Lists: pgsql-bugs
Thanks! That did it:
tbs=# SELECT DATE_PART('DAY', CAST('04/1/2001' AS DATE)) as dayofmonth;
dayofmonth
------------
31
(1 row)
tbs=# SET TIMEZONE = 'GMT' ;
SET VARIABLE
tbs=# SELECT DATE_PART('DAY', CAST('04/1/2001' AS DATE)) as dayofmonth;
dayofmonth
------------
1
(1 row)
Thanks for the quick response.
> -----Original Message-----
> From: Thomas Lockhart [mailto:lockhart@fourpalms.org]
> Sent: Friday, May 25, 2001 9:45 AM
> To: pkelly@ets.net; pgsql-bugs@postgresql.org
> Subject: Re: DATE_PART() BUG? We have an SQL statement that is giving
> wrong output.
>
>
> > Short Description
> > DATE_PART() BUG? We have an SQL statement that is giving
> wrong output.
> > tbs=# SELECT version();
> > -------------------------------------------------------------
> > PostgreSQL 7.0.2 on i686-pc-linux-gnu, compiled by gcc 2.96
> > Here is a simple example:
> > SELECT DATE_PART('DAY', CAST('04/1/2001' AS DATE)) as dayofmonth
> > ----------
> > 31
> > Why does April 1st display as May 31st?
>
> This is a known "feature" of 7.0.x (and earlier) on daylight savings
> time boundaries. You will see the problem go away if you set your time
> zone to GMT. Upgrade to 7.1.x.
>
> - Thomas
>