У меня есть таблица Postgres
, в которой есть столбец типа real
.
Когда я использую запрос для выбора значений из этого столбца (например, select amount from my_table
), он округляется значение для чисел больше 100 000. (Он полностью игнорирует десятичную часть). Для чисел, превышающих 1 000 000, он отображает их в формате scientifi c. Для чисел, меньших 100 000, он удаляет десятичную часть, так что в целом выводятся только 6 цифр (например, 1000.12345 становится 1000.12).
Это только когда я приводю значение к двойной точности (используя CAST(amount as double precision)
) что он начинает вести себя так, как я ожидал, и распечатывает все сохраненные десятичные цифры.
У кого-нибудь есть идея, почему Postgres ведет себя таким образом?