oracle拼接小数百分号问题

Oracle百分号显示问题
本文讲解了在Oracle数据库中处理小数百分比显示时遇到的问题及解决方案,包括如何使用TO_CHAR确保小数点前的0不被省略,并讨论了不同格式符的应用场景。

oracle拼接小数百分号问题


在oracle的select计算中,经常会用到拼接百分号的问题,但是若结果为0.01的时候,小数点前的0就会经常被舍去。这是因为oracle在拼接%时,用到了隐式转换,例如

select round(5164/88794,2) from dual

结果则为0.06,但是如果

select round(5164/88794,2)||’%’ from dual

则结果为.06%,如果需要把前面的0也显示出来,则需要用到to_char,例如

select to_char(round(5164/88794,2),’fm999990.00’)||’%’ from dual

则结果则为0.06,但是这样之后又会出现一个问题,就是如果小数点前位数已经超过10位数的时候,就会发现,结果变成了#####,这时候又要用到fm这个参数,例如fm99900.00,在有9的地方,如果没有数字,则不会显示;有0的地方,如果没有数字,则显示为0.
这时如果结果为123.456,则会变成123.45,若为6.456,则为06.45.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值