Обсуждение: BUG #4539: to_char(to_timestamp('...','....')) returns the wrong result
The following bug has been logged online: Bug reference: 4539 Logged by: Stuart Green Email address: stuart@greenfam.com PostgreSQL version: 8.2.11 Operating system: Centos 5 Description: to_char(to_timestamp('...','....')) returns the wrong result Details: The query select to_char(to_timestamp('2008-11-14 16:00:00','YYYY-MM-DD HH24:MM:SS'),'day'); is returning monday as the day in all the dbase version I Have test, 8.2.11, 8.2.10, and 8.1.11 The query select to_char(to_timestamp('2008-11-14','YYYY-MM-DD'),'day'); returns friday, which is correct, if you replace to_timestamp with to_date it returns friday which is correct. Specify the 24 hour clock or not in the timestamp query doesn't make a difference in the result, it still returns monday, when it should be friday.
Re: BUG #4539: to_char(to_timestamp('...','....')) returns the wrong result
От
Heikki Linnakangas
Дата:
Stuart Green wrote: > select to_char(to_timestamp('2008-11-14 16:00:00','YYYY-MM-DD > HH24:MM:SS'),'day'); > > is returning monday as the day in all the dbase version I Have test, 8.2.11, > 8.2.10, and 8.1.11 Use 'MI' instead of 'MM' for the minutes. to_timestamp is quite lenient, and interpretes the 00 in what you meant to be the minutes field as month number. As there is no month 0, it uses January. to_timestamp is much stricter in the upcoming 8.4 release, and will throw an error for that query: postgres=# select to_char(to_timestamp('2008-11-14 16:00:00','YYYY-MM-DD HH24:MM:SS'),'day'); ERROR: conflicting values for "MM" field in formatting string DETAIL: This value contradicts a previous setting for the same field type. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com