Выбор ответа Junior ER-модели и нормализация обновлено
Тип для денег
Вопрос
Какой тип выбрать в PostgreSQL для суммы заказа в рублях с копейками?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: numeric(12,2). numeric хранит десятичные числа точно, без ошибок округления. real и double precision это числа с плавающей точкой: 0.1 + 0.2 у них не равно 0.3, для денег недопустимо. text не даёт считать и проверять значения.
Варианты ответа
- text
- double precision
- numeric(12,2)правильный ответ
- real
Разбор
numeric хранит десятичные числа точно, без ошибок округления. real и double precision это числа с плавающей точкой: 0.1 + 0.2 у них не равно 0.3, для денег недопустимо. text не даёт считать и проверять значения. Иногда деньги хранят целыми копейками в bigint, это тоже корректный подход.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.