在oracle中怎么保留两数相除的结果的小数点前的“0”?

CREATE OR REPLACE FUNCTION to_percent
(a in number,b in number)
return varchar2
is
c varchar2(20);
begin
if(a=0 or b=0)
then
c:='0';
else
c:= trunc(a*100/b,2)||'%';
end if ;
return c;
end;

如1/1000,回返回“.1%”,但我想要的结果为“0.1%”

select to_char(0.338,'fm9999999990.00') from dual;

结果:0.34

这里重点要看 fm9999999999.99,表示整数部分最多10位,小数部分2位,fm表示去掉转位字符串后前面的空格,不加fm,0.34前面会有空格的.

参考资料:http://hi.baidu.com/luodaijun/blog/item/b073d262d247d1dee6113a43.html

温馨提示:答案为网友推荐,仅供参考
相似回答