On Mon, Dec 31, 2001 at 11:02:47AM -0500, Tom Lane wrote:
> "Aasmund Midttun Godal" <postgresql@envisity.com> writes:
> > The implicit casting of text to date is normally quite good, however i
> > think it should only use one method during a given query (or maybe
> > transaction?)
>
> Try setting DateStyle to match the date style you are using. Postgres
> is doing the best it can with ambiguous input.
>
> > Added to the fact that to_date has a bug:
>
> > SELECT ordredato, ordredato::date, to_date(ordredato, 'DD.MM.YY') from old_faktura where status = 'ANN';
> > ordredato | ?column? | to_date
> > -----------+------------+---------------
> > 18.04.00 | 2000-04-18 | 0001-04-18 BC
> > 30.08.01 | 2001-08-30 | 2001-08-30
> > 18.04.00 | 2000-04-18 | 0001-04-18 BC
>
> I agree, this is not desired behavior. The problem seems to be that the
> logic in to_timestamp() tries to use "field is not zero" as a substitute
> test for "field was provided". At least in the case of the year fields,
> this is *not* workable. There must be a separate flag bit.
>
> regards, tom lane
Nice bug :-(
It's fixed and the patch is attached, please apply it to 7.2.
Thanks for report.
Karel
--
Karel Zak <zakkr@zf.jcu.cz>
http://home.zf.jcu.cz/~zakkr/
C, PostgreSQL, PHP, WWW, http://docs.linux.cz, http://mape.jcu.cz