Belinda M. Giardine wrote:
Thanks that works.  But I am trying to understand why the others did not,
especially my first attempt.  Further testing shows that

select id, date_entered from main_table where
date_entered >= to_timestamp('2006 January', 'YYYY Month');

works, but

select id, date_entered from main_table where
date_entered >= to_timestamp('January 2006', 'Month YYYY');

does not.  The order of the fields in the to_timestamp function changes
the timestamp produced.  Should it be this way?

No. Good testing, you've found a bug. Seems to be a problem with the "Month" formatting if there's more fields after it.

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

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

SELECT to_timestamp('January 22 2006','Month DD YYYY');
      to_timestamp
------------------------
 0005-06-28 00:00:00+00
(1 row)

SELECT to_timestamp('Jan 22 2006','Mon DD YYYY');
      to_timestamp
------------------------
 2006-01-22 00:00:00+00
(1 row)

If you report this bug using the form below, I'm sure one of the developers will have a patch out shortly.
  http://www.postgresql.org/support/submitbug

Good catch!
--
  Richard Huxton
  Archonet Ltd

---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings

Reply via email to