概述:
NVL函数是Oracle/PLSQL中的一个函数。
而NVL2()是Oracle在NVL函数的功能上扩展。
----------------------------------------------------------------------------
NVL()格式为:NVL( string1, replace_with).功能用法描述:
如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值。
注意:string1和replace_with必须为同一数据类型,显示使用转换函数的情况除外。
工作中用到有想要默认上课人数为0,而数据库中一开始可能为null,此时可以使用:NVL(SKRS, 0)。
NVL2()格式为:NVL2(E1, E2, E3)
功能用法描述:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。
工作中用到的例子有:业务是:如果xkcgbz这个选课成功标志字段为null,则查筛选状态这个字段的值,不为null,则查找选课成功标志这个字段的值。
nvl2(xkcgbz, (
case xkcgbz
when '0' then '2'
when '1' then '4'
when '2' then '1'
end
)
, (
case sxzt
when '2' then '1'
else '3'
end
)
) XKCGBZ