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类型!如下图–>