个人认为比较方便的一种:
select decode(n_jg,0,‘0.00’,trim(to_char(n_jg,‘9999999.99’))) from tbl ------这种方法当整数点是0的时候不显示!!!
如果只是检索,可是使用:
1、select trunc(CUR_SUM,2) from data_record;
将小数转化成百分比=> round(zcbj/zs*100)||’%’ ==trunc((zcbj/zs),2)*100||’%’ ------这种方法不会进行四舍五入
2、如果想更新数据,可以使用:
update data_record set CUR_SUM=trunc(CUR_SUM,2) where REC_NO=123
方法一:使用to_char的fm格式
to_char(round(data.amount,2),‘FM9999999999999999.00’) as amount
不足之处是,如果数值是0的话,会显示为.00而不是0.00。
另一需要注意的是,格式中小数点左边9的个数要够多,否则查询的数字会显示为n个符号“#”。
解决方式如下:
select decode(salary,0,‘0.00’,(to_char(round(salary,2),‘fm99999999999999.00’))) from can_do;
方法二:使用case when then else end进行各种情况的判断处理 ------这种方法当整数位是0的时候,不会显示整数位的0
case
when instr(to_char(data.amount), ‘.’) < 1 then
data.amount || ‘.00’
when instr(to_ch