我试图将一个浮点数截断为两个小数点。例如:14.141244804178488应该变成14.14。到现在为止,我已经这样试过了
var_A float;
var_A := 14.141244804178488;
select trunc(var_A ,2) into var_A;
raise notice '%', var_A;
当我试图执行这个查询时,我在上面的查询中得到一个异常。我也试着用下面的问题来解决;
/*var_A float;
var_A := 14.141244804178488;*/
select trunc(141244804178488 ,2) into var_A;
raise notice '%', var_A;
对于上面的查询,我得到的输出是14.140000000000006。有人能帮我吗。
最佳答案
对于trunc()
数据类型,没有带第二个参数的float
函数。
因此,将var_A float
更改为var_A numeric
并尝试:
(正如@a_horse_with_no_name所指,最好是使用:=
运算符分配变量,而不是使用select..into
do $$
declare
var_A numeric;
begin
var_A := 14.141244804178488;
var_A := trunc(var_A ,2);
raise notice '%', var_A;
end;
$$ language plpgsql
关于sql - 如何在Postgres过程中将浮点数截断为两个小数点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52473626/