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:[EMAIL PROTECTED]] > Sent: Friday, May 25, 2001 9:45 AM > To: [EMAIL PROTECTED]; [EMAIL PROTECTED] > 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 > ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/users-lounge/docs/faq.html