BUG #15925: Loss of precision converting money to numeric

Поиск
Список
Период
Сортировка
От PG Bug reporting form
Тема BUG #15925: Loss of precision converting money to numeric
Дата
Msg-id 15925-da9953e2674bb5c8@postgresql.org
обсуждение исходный текст
Ответы Re: BUG #15925: Loss of precision converting money to numeric  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
The following bug has been logged on the website:

Bug reference:      15925
Logged by:          Slawomir Chodnicki
Email address:      slawomir.chodnicki@gmail.com
PostgreSQL version: 11.4
Operating system:   Linux
Description:

As per documentation converting a money value to numeric does not lose
precision. In general that is the case:

select '8547758.07'::money, '8547758.07'::money::numeric(30,2);

money        |numeric   |
-------------|----------|
$8,547,758.07|8547758.07|

During my testing I found unexpected results for the min and max value of
the money type.

select '-92233720368547758.08'::money,
'-92233720368547758.08'::money::numeric(30,2);

money                      |numeric              |
---------------------------|---------------------|
-$92,233,720,368,547,758.08|-92233720368547758.00|

Note that the cent value is gone after converting to numeric.

Same issue for the max value:

money                     |numeric             |
--------------------------|--------------------|
$92,233,720,368,547,758.07|92233720368547758.00|

Best Wishes
Slawo


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

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: BUG #15827: Unable to connect on Windows using pg_services.confusing Python psycopg2
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #15926: TPCH Q18 slow: explain plan with 2 step Hash Aggregate (partial and finalize)