如题,用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----展示小数点后四位
本文介绍在Oracle数据库中使用NVL函数时遇到的小数点前后零被隐掉的问题,并提供了解决方案,即通过TO_CHAR函数将数值转换为字符串格式,以避免数据展示异常。文章还分享了几种不同的TO_CHAR格式选项。
85

被折叠的 条评论
为什么被折叠?



