Oracle查询之后发现数据的小数点前0丢失不见了,用的nvl

如题,用nvl查询后出现了问题:

SELECT T2.NAME, nvl(T3.name,T1.ITEM_VALUE)

但是不用nvl数据正常了

SELECT T2.NAME, T1.ITEM_VALUE

搜索了一下,是因为oracle把小数点之前的0和之后的0都隐掉了,这时候我们要把这个数值类型的数据转换为字符串,就不会被隐掉

代码如下

SELECT T2.NAME, nvl(T3.name,to_char(T1.ITEM_VALUE,'fm90.09')) ITEM_VALUE

利用tochar转换成字符串即可

当然还有别的格式:fm99990.0099-----展示小数位后两位

fm999999990.000099999----展示小数点后四位

 


版权声明:本文为smileonlytoyou原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。