Hello,

To day we are the 9th of January 2009. 
The following request preformed on a version 8.0.8 or on 8.3.5 gives the same 
strange result.

As you can see below, 
the request "to_char((current_date - 11), 'DD MM IYYY')" gives "29 12 2009" 
instead of "29 12 2008". With 12 or with 8 the result is
good.

EXTRACT is a good workaround.
What did I wrong?
Is my request bad or is it a bug?

Best regards,

select 
to_char(current_date, 'DD MM IYYY') as good_curdate, 
current_date - 10 as good_cur_10,
to_char((current_date - 10), 'DD MM IYYY') as bad_date1_10,
to_char((date(now())-10), 'DD MM IYYY') as bad_date2_10,
to_char((current_date - 13), 'DD MM IYYY') as good_date_13,
to_char((current_date - 12), 'DD MM IYYY') as good_date_12,
to_char((current_date - 11), 'DD MM IYYY') as bad_date_11,
to_char((current_date - 10), 'DD MM IYYY') as bad_date_10,
to_char((current_date - 9), 'DD MM IYYY') as bad_date_9,
to_char((current_date - 8), 'DD MM IYYY') as good_date_8,
to_char((current_date - 7), 'DD MM IYYY') as good_date_7,
EXTRACT(day FROM (date(now())-10)  ) as good_day_10,
EXTRACT(month FROM (date(now())-10)  ) as good_month_10,
EXTRACT(YEAR FROM (date(now())-10)  ) as good_year_10;

good_curdate    : "09 01 2009"
good_cur_10             : "2008-12-30"
bad_date1_10    : "30 12 2009" 
bad_date2_10    : "30 12 2009"
good_date_13    : "27 12 2008"
good_date_12    : "28 12 2008"
bad_date_11             : "29 12 2009"
bad_date_10             : "30 12 2009"
bad_date_9              : "31 12 2009"
good_date_8             : "01 01 2009"
good_date_7             : "02 01 2009"
good_day_10             : 30
good_month_10   : 12
good_year_10    : 2008

Denis Percevault
d.perceva...@pnsconcept.fr


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to