如何在postgres过程中将浮点数截断为小数点后两位

Abh*_*hek 2 sql postgresql stored-procedures

我正在尝试将浮点数截断为小数点后两位。例如:- 数字 14.141244804178488 应变为 14.14。到目前为止我已经尝试过这样的

var_A float;
var_A := 14.141244804178488;
select  trunc(var_A ,2) into  var_A; 
raise notice '%', var_A;
Run Code Online (Sandbox Code Playgroud)

当我尝试执行此查询时,我在上述查询中遇到异常。我还尝试使用以下查询来解决;

/*var_A float;
var_A := 14.141244804178488;*/
select  trunc(141244804178488 ,2) into  var_A; 
raise notice '%', var_A;
Run Code Online (Sandbox Code Playgroud)

对于上述查询,我​​得到输出 14.1400000000000006。任何人都可以帮助我吗?

OTA*_*TAR 5

没有带有数据类型第二个参数的trunc()函数。float

因此,更改var_A floatvar_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
Run Code Online (Sandbox Code Playgroud)