函数:NVL函数,NVL2函数,NULLIF函数,COALESCE等
说明:空值是非常特殊的值,既不能说它不存在,也不能说它是零。
空值表示一类没有定义的值,具有不确定性。
当然对于空值的运算也具有特殊性,因为居于不确定性的值无法和一类具有确定性的值进行逻辑或者算数运算,所以oracle提供了一类空值处理函数,通过这些函数实现空值(NULL)的运算。
@ is null
@nvl函数:NVL函数使得空值可以进行运算,它是空值转换函数。如果不使用空值转换函数,空值是无法进行运算的。
NVL函数语法如下
NVL(expr1,expr2)
规则:如果expr1的值为空值(null),则返回expr2的值,否则返回expr1的值。其表达式expr1和expr2的数据类型必须相同,它们可以是数据类型,字符类型和日期类型。
select empno,emname,job,mgr,hiredate,sal+nvl(comm,0)
@NVL2函数:NVL2函数是对NVL函数的增强
表达式:NVL2(expr1,expr2,expr3)
规则:如果expr1为空,则返回表达式expr3的值,如果expr1不为空,则返回expr2的值,其中expr1可以为任何数据类型,而表达式expr2和expr3为除了LONG数据类型以外的任何数据类型。
select ename,nvl2(comm,comm+sal,sal) from emp;