CREATE OR REPLACE FUNCTION f_Round ( n NUMBER, p NUMBER ) RETURN NUMBER is vn_a number; vn_b number; BEGIN vn_a := n*power(10,p); vn_b := trunc(vn_a); IF vn_a - vn_b = 0.5 THEN IF mod( vn_b, 2)=1 THEN RETURN trunc(n,p) ; END IF; END IF; RETURN round(n,p); end f_Round;
lz可以自己写个函数来代替round函数
n NUMBER,
p NUMBER
) RETURN NUMBER is
vn_a number;
vn_b number;
BEGIN
vn_a := n*power(10,p);
vn_b := trunc(vn_a);
IF vn_a - vn_b = 0.5 THEN
IF mod( vn_b, 2)=1 THEN
RETURN trunc(n,p) ;
END IF;
END IF;
RETURN round(n,p);
end f_Round;