总是四舍五入到特定的小数位吗?

时间:2018-10-09 16:03:33

标签: sql postgresql rounding

我有42.4300001,我希望该值为42.44。在PostgreSQL中有完成此任务的好方法吗?

2 个答案:

答案 0 :(得分:2)

demo: db<>fiddle

SELECT ceil(42.4300001 * 100) / 100

ceil()总是四舍五入到下一个整数。结果:42.4400000000000000

要减少结尾的零,您可以执行

trunc(result, 2)或强制转换为result::decimal(digits, 2)

答案 1 :(得分:0)

一种方法是

trunc(42.4300001::numeric + 0.00999999999999999999999999, 2)

对于具有两个参数的numeric函数,必须强制转换为trunc

注意:这仅适用于realdouble precision号。