BUG #2996: to_char( timestamp, 'DD-Mon-YYYY HH24:MI:SS.MS' ) reports .1000 ms

From: "Anthony Taylor" <tony(at)tg-embedded(dot)com>
To: pgsql-bugs(at)postgresql(dot)org
Subject: BUG #2996: to_char( timestamp, 'DD-Mon-YYYY HH24:MI:SS.MS' ) reports .1000 ms
Date: 2007-02-12 23:59:31
Message-ID: 200702122359.l1CNxVU1013061@wwwmaster.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-patches


The following bug has been logged online:

Bug reference: 2996
Logged by: Anthony Taylor
Email address: tony(at)tg-embedded(dot)com
PostgreSQL version: 8.1.8
Operating system: Linux kernel 2.6.11 (based on Gentoo)
Description: to_char( timestamp, 'DD-Mon-YYYY HH24:MI:SS.MS' )
reports .1000 ms
Details:

When using the "to_char" function to output timestamps, some timestamps
report .1000 milliseconds.

Specifically,

select to_char( time, 'DD-Mon-YYYY HH24:MI:SS.MS' ) from test_time;

Reports:

12-Feb-2007 18:16:34.999
12-Feb-2007 18:16:34.1000
12-Feb-2007 18:16:35.000

I believe the 34.1000 should either be 34.999 or 35.000.

According to the documentation (table 9-21, Template Patterns for Date/Time
Formatting):

MS millisecond (000-999)

Here's a nice little test script:

-- --------------------------------

CREATE TABLE test_time ( time TIMESTAMP );

CREATE OR REPLACE FUNCTION timetest( )
RETURNS VOID
AS $$
BEGIN
FOR i IN 0..100000 LOOP
INSERT INTO test_time VALUES ( timeofday()::timestamp );
END LOOP;
END;
$$ LANGUAGE plpgsql;

SELECT timetest();

select to_char( time, 'DD-Mon-YYYY HH24:MI:SS.MS' ) from test_time;

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2007-02-13 00:00:34 Re: BUG #2994: avg() calculates wrong on Interval-type
Previous Message Peter Eisentraut 2007-02-12 23:20:22 Re: BUG #2994: avg() calculates wrong on Interval-type

Browse pgsql-patches by date

  From Date Subject
Next Message Takayuki Tsunakawa 2007-02-13 00:14:16 Re: New features for pgbench
Previous Message Tom Lane 2007-02-12 16:43:57 Re: New features for pgbench