首页 > 数据库 > Oracle > Oracle中NVL2 和NULLIF的用法?
NULL指的是空值,或者非法值。
NVL (expr1,
expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
NVL2 (expr1, expr2, expr3)
->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
NULLIF (expr1, expr2) ->相等返回NULL,不等返回expr1
从两个表达式返回一个非 null 值。
语法
NVL(eExpression1,
eExpression2)
参数
eExpression1, eExpression2
如果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回
eExpression2。如果 eExpression1 的计算结果不是 null 值,则返回
eExpression1。eExpression1 和 eExpression2 可以是任意一种数据类型。如果
eExpression1 与 eExpression2 的结果皆为 null 值,则 NVL( ) 返回
.NULL.。
返回值类型
字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值
说明
在不支持 null 值或 null 值无关紧要的情况下,可以使用 NVL( )
来移去计算或操作中的 null 值。
select nvl(a.name,'空得') as name from student a join school b on a.ID=b.ID
注意:两个参数得类型要匹配
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24457951/viewspace-1117573/ ,如需转载,请注明出处,否则将追究法律责任。