Postgres Пользовательский тип с плавающей точкой, который всегда усекается до 2 десятичных знаков после точки - PullRequest
0 голосов
/ 04 сентября 2018

Могу ли я создать собственный тип данных в postgres, который каждый раз, когда я вставляю или обновляю число с плавающей точкой, обрезается до 2 десятичных знаков после точки.

create table money(

   formatted moneys_type
);

insert into money values (30.122323213);

Select * from money; 

Возвращает

30.12

Обновление Я не использовал числовые или десятичные числа, потому что они округляются, когда 1.999 => 2

1 Ответ

0 голосов
/ 04 сентября 2018

См. документацию по числовым типам / произвольным точным числам .

Числовое значение - это общее количество значащих цифр в целое число, то есть количество цифр по обе стороны от десятичная точка. шкала числа - это количество десятичных цифр. в дробной части, справа от десятичной точки. Итак число 23.5141 имеет точность 6 и шкалу 4. Целые числа могут быть считается, что имеет нулевую шкалу.

...

Чтобы объявить столбец числового типа, используйте синтаксис:

NUMERIC(precision, scale)

Максимально допустимая точность, если она явно указана в объявлении типа, равна 1000.

Так что вы можете использовать

NUMERIC(1000, 2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...