BUG #12754: The 'OF' template pattern of to_char() print incorrect results with negative offsets with minutes
The following bug has been logged on the website:
Bug reference: 12754
Logged by: David Pozsar
Email address: david.pozsar@gmail.com
PostgreSQL version: 9.4.0
Operating system: Windows 7
Description:
If the current time-zone has minutes and is negative, to_char('OF') prints a
negative sign before the minute part too.
Code, to reproduce:
set time zone interval '-02:30';
-- or: set timezone to -2.5;
select ts::text, to_char(ts, 'YYYY-MM-DD HH24:MI:SSOF')
from (values (timestamptz '2015-02-10 07:05:15+00')) v(ts);
Output:
ts | to_char
---------------------------+----------------------------
2015-02-10 04:35:15-02:30 | 2015-02-10 04:35:15-02:-30
Expected output:
ts | to_char
---------------------------+---------------------------
2015-02-10 04:35:15-02:30 | 2015-02-10 04:35:15-02:30
--
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs
On Tue, Feb 10, 2015 at 09:56:58AM +0000, david.pozsar@gmail.com wrote:
The following bug has been logged on the website:
Bug reference: 12754
Logged by: David Pozsar
Email address: david.pozsar@gmail.com
PostgreSQL version: 9.4.0
Operating system: Windows 7
Description:If the current time-zone has minutes and is negative, to_char('OF') prints a
negative sign before the minute part too.Code, to reproduce:
set time zone interval '-02:30';
-- or: set timezone to -2.5;
select ts::text, to_char(ts, 'YYYY-MM-DD HH24:MI:SSOF')
from (values (timestamptz '2015-02-10 07:05:15+00')) v(ts);Output:
ts | to_char
---------------------------+----------------------------
2015-02-10 04:35:15-02:30 | 2015-02-10 04:35:15-02:-30Expected output:
ts | to_char
---------------------------+---------------------------
2015-02-10 04:35:15-02:30 | 2015-02-10 04:35:15-02:30
Attached patch applied. Thanks for the clear report.
--
Bruce Momjian <bruce@momjian.us> http://momjian.us
EnterpriseDB http://enterprisedb.com
+ Everyone has their own god. +