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

Поиск
Список
Период
Сортировка
От Anthony Taylor
Тема BUG #2996: to_char( timestamp, 'DD-Mon-YYYY HH24:MI:SS.MS' ) reports .1000 ms
Дата
Msg-id 200702122359.l1CNxVU1013061@wwwmaster.postgresql.org
обсуждение исходный текст
Ответы Re: BUG #2996: to_char( timestamp, 'DD-Mon-YYYY HH24:MI:SS.MS' ) reports .1000 ms  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged online:

Bug reference:      2996
Logged by:          Anthony Taylor
Email address:      tony@tg-embedded.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;

В списке pgsql-bugs по дате отправления:

Предыдущее
От: "Filippo Toso"
Дата:
Сообщение: Re: BUG #2993: The program "postgres" is needed by initdb but was not found ...
Следующее
От: "Floyd Shackelford"
Дата:
Сообщение: BUG #2997: parse error: setObject("2004-August-15",java.sql.Types.DATE)