Всегда округлять до определенного десятичного знака? - PullRequest
0 голосов
/ 09 октября 2018

У меня 42,4300001, и я хочу, чтобы это значение было 42,44.Есть ли отличный способ сделать это в PostgreSQL?

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

demo: db <> fiddle

SELECT ceil(42.4300001 * 100) / 100

ceil() всегда округляется до следующего целого числа.Результат: 42.4400000000000000

Чтобы вырезать конечный ноль, вы можете сделать

trunc(result, 2) или привести к result::decimal(digits, 2)

0 голосов
/ 09 октября 2018

Один из способов:

trunc(42.4300001::numeric + 0.00999999999999999999999999, 2)

Приведение к numeric необходимо для функции с двумя аргументами trunc.

Примечание: Это будет тольконадежно работать для real и double precision номеров.

...