Rounding error on extract(epoch ..)

Поиск
Список
Период
Сортировка
От Moshe Jacobson
Тема Rounding error on extract(epoch ..)
Дата
Msg-id CAJ4CxLkA6Y+SEL-z+nmeZafXZEGWOJSRUt9r48SjD8yvd-+Apw@mail.gmail.com
обсуждение исходный текст
Ответы Re: Rounding error on extract(epoch ..)  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
It seems that extract(epoch ..) does not preserve the entire precision of
the passed-in timestamp. In the following example, it rounds to the nearest
0.00001:

> select extract(epoch from '2014-01-21 16:10:30.403777'::timestamp);

    date_part
------------------
 1390320630.40378
(1 row)

Just to be sure, I convert this value back to timestamp and it is still
rounded (and incorrect):

> select to_timestamp(1390320630.40378);

         to_timestamp
------------------------------
 2014-01-21 11:10:30.40378-05
(1 row)

Oddly, when the result of extract(epoch) is passed directly back into
to_timestamp, the result is correct!

> select to_timestamp(extract(epoch from '2014-01-21 16:10:30.403777'::time=
stamp));

         to_timestamp
-------------------------------
 2014-01-21 11:10:30.403777-05
(1 row)

Moshe Jacobson
Manager of Systems Engineering, Nead Werx Inc. <http://www.neadwerx.com>
2323 Cumberland Parkway =B7 Suite 201 =B7 Atlanta, GA 30339

=93Quality is not an act, it is a habit.=94 =97 Aristotle

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

Предыдущее
От: Bruce Momjian
Дата:
Сообщение: Re: BUG #8218: Error when querying an JSON data, 9.3beta
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Rounding error on extract(epoch ..)