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

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,

oracle nvl函数无效数字,Oracle ORA-01722 错误解决_第1张图片
公司项目中用的,如果为空则打出-,取代空值!landArea列如果使用nvl就会报出无效数字!
原因是其他列都是varchar只有这一列是number类型!如下图–>
oracle nvl函数无效数字,Oracle ORA-01722 错误解决_第2张图片

你可能感兴趣的:(编程过程中的问题及解决办法总结,oracle)