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

Sql 如何在postgres过程中将浮点数截断为两个小数点,sql,postgresql,stored-procedures,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; 当我试图执行这个查询时,我在上面的查询中得到一个异常。我还尝试使用下面的查询来解决这个问题 /*var_A float; var_A := 14.1412448

我试图将浮点数截断为两个小数点。例如:-数字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。有人能帮我吗

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

因此,将
var\u A float
更改为
var\u A numeric
,然后尝试:

(正如@a_horse_和_no_name一样,最好使用
:=
操作符来分配变量,而不是
选择..into

do $$
declare
    var_A numeric;
begin
    var_A := 14.141244804178488; 
    var_A := trunc(var_A ,2); 
    raise notice '%', var_A;
end;
$$ language plpgsql
对于
float
数据类型,没有带第二个参数的
trunc()
函数

因此,将
var\u A float
更改为
var\u A numeric
,然后尝试:

(正如@a_horse_和_no_name一样,最好使用
:=
操作符来分配变量,而不是
选择..into

do $$
declare
    var_A numeric;
begin
    var_A := 14.141244804178488; 
    var_A := trunc(var_A ,2); 
    raise notice '%', var_A;
end;
$$ language plpgsql

不要使用
select
进行简单变量赋值。
var\u a:=trunc(var\u a,2);
会更好(更快)不要使用
select
进行简单变量赋值。
var\u a:=trunc(var\u a,2);
会更好(更快)不要使用
select
进行简单变量赋值。
var\u a:=trunc(var\u a,2);
会更好(更快)不要使用
select
进行简单变量赋值。
var\u a:=trunc(var\u a,2);
会更好(更快)