Re: date comparisons

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Belinda M(dot) Giardine" <giardine(at)bio(dot)cse(dot)psu(dot)edu>
Cc: Erik Jones <erik(at)myemma(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: date comparisons
Date: 2006-12-12 17:25:22
Message-ID: 5052.1165944322@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-patches

"Belinda M. Giardine" <giardine(at)bio(dot)cse(dot)psu(dot)edu> writes:
> Should it be this way?

Well, to_timestamp() is apparently designed not to complain when the
input doesn't match the format, which is not my idea of good behavior
... but your example is in fact wrong. 'Month' means a 9-character
field, so you are short a couple of spaces.

regression=# select to_timestamp('January 2006', 'Month YYYY');
to_timestamp
------------------------
0006-01-01 00:00:00-05
(1 row)

regression=# select to_timestamp('January 2006', 'Month YYYY');
to_timestamp
------------------------
2006-01-01 00:00:00-05
(1 row)

You probably want

regression=# select to_timestamp('January 2006', 'FMMonth YYYY');
to_timestamp
------------------------
2006-01-01 00:00:00-05
(1 row)

Or, as suggested upthread, forget to_timestamp and just use the native
timestamp or date input conversion, which on the whole is a lot more
robust (it *will* throw an error if it can't make sense of the input,
unlike to_timestamp).

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Bruce Momjian 2006-12-12 17:25:29 Re: Restore database from files (not dump files)?
Previous Message developer 2006-12-12 17:22:41 Re: resetting sequence to cur max value

Browse pgsql-patches by date

  From Date Subject
Next Message Gregory Stark 2006-12-12 17:38:18 Re: Load distributed checkpoint
Previous Message Richard Huxton 2006-12-12 17:22:16 Re: date comparisons