oracle小数点保留问题Oracle认证考试
文章作者 100test 发表时间 2010:03:26 17:11:06
来源 100Test.Com百考试题网
最近公司有个业务清单提取需求,需要使用百分率,保留2位小数,其实只用round就可以实现(round(_data,2) ),但是格式不是很工整,对格式要求不严谨的情况下使用round即可,以下是网络搜索到的处理方法:
方法一:使用to_char的fm格式,即:
to_char(round(data.amount,2), FM9999999999999999.00 ) as amount
不足之处是,如果数值是0的话,会显示为.00而不是0.00。
另一需要注意的是,格式中小数点左边9的个数要够多,否则查询的数字会显示为n个符号“#”。
解决方式如下:
0select decode(salary,0, 0.00 ,(to_char(round(salary,2), fm99999999999999.00 ))) from can_do.
方法二:使用case when then else end进行各种情况的判断处理:
case
when instr(to_char(data.amount), . )