Подтвердить что ты не робот

Какой тип столбца PostgreSQL следует использовать для хранения Java BigDecimal?

Какой тип столбца PostgreSQL следует использовать для хранения Java BigDecimal?

4b9b3361

Ответ 1

См. Типы данных PostgreSQL - возможно Numeric, который может действовать как произвольный тип точности (это расширение PostgreSQL).

... без какой-либо точности или масштабирования создается столбец, в котором могут храниться числовые значения любой точности и масштаба, вплоть до предела реализации по точности.

Я не совсем уверен, что такое "предел реализации по точности". Никогда не пробовали действительно большие цифры. Если предел достигнут, тогда возможен возврат к text. Но я подозреваю, что до этого будут значительные другие проблемы;-) Если вы хотите сохранить меньше, то укажите точность и/или масштаб на numeric.

Изменить, как указано sjr, ограничение составляет 1000 десятичных цифр точности (из той же ссылки):

Тип numeric может хранить числа с точностью до 1000 цифр точности [в реализациях currentl] и выполнять вычисления точно. Он особенно рекомендуется для хранения денежных сумм и других величин, где требуется точность...

Если требуется больше точности - несмотря на то, что у вас гораздо большая проблема, тогда числовой столбец не будет подходящим (сам по себе). Но это действительно более экстремальное "что, если" и, вероятно, не играет предельной роли.

Ответ 2

Просто используйте сопоставления Java для общих типов данных SQL. В этом случае вы можете использовать NUMERIC или DECIMAL.