日期:2014-05-17  浏览次数:20906 次

函数NVL2提示数值无效的问题
Select 

NVL2(t.a, t.b, ‘-’)

from table t


数据库提示数值无效,这是问什么?
我想显示的结果是
当a为空时,显示 -
不为空时,显示 b的值

------解决方案--------------------
NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型

------解决方案--------------------
ls 正解 select nvl2(a, to_char(b), '-') expr2 和expr3 类型一样
而select nvl2(a, b, '-') expr2 和expr3 类型不一样
探讨

NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型