Sql 如何在postgres过程中将浮点数截断为两个小数点
我试图将浮点数截断为两个小数点。例如:-数字14.141244804178488应变为14.14。到现在为止,我都是这样尝试的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
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);
会更好(更快)