oracle nvl函数无效数字,Oracle ORA-01722 错误解决

本文介绍了在Oracle环境中遇到ORA-01722错误,即无效数字,如何通过使用nvl2()函数将非number类型转换为number类型,避免空值显示为'-'。重点展示了如何在项目实践中应用这个函数,并解释了为何nvl()函数在此场景下失效。
摘要由CSDN通过智能技术生成

oracle nvl函数无效数字,Oracle ORA-01722 错误解决

产生的情况:

查出的字段中,需要转化为number型的时候,比较常见。

意思就是要转化的数据为number类型!

解决办法

使用nvl2()函数

比对

"NVL"(expr1, expr2)
"NVL2"(expr1, expr2, expr3)

一个是使用三个变量,一个是两个!
nvl2(a,b,c);如果a不为空则返回b,a为空则返回c
nvl如果a为空返回空!

应用

nvl2(c.FSPACE,'-' ,'-')  landArea,
nvl(c.TOTALFLOORS ,'-')  floors,

在这里插入图片描述
公司项目中用的,如果为空则打出-,取代空值!landArea列如果使用nvl就会报出无效数字!
原因是其他列都是varchar只有这一列是number类型!如下图–>
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值