一 NVL 函数是一个空值转换函数
NVL(表达式 1, 表达式 2)
如果表达式 1 为空值, NVL 返回值为表达式 2 的值, 否则返回表达式 1 的值. 该函数的目的是把一个空值 (null) 转换成一个实际的值. 其表达式的值可以是数字型, 字符型和日期型. 但是表达式 1 和表达式 2 的数据类型必须为同一个类型.
对数字型: NVL( comm,0);
对字符型 NVL( TO_CHAR(comm), 'No Commission')
对日期型 NVL(hiredate,'31-DEC-99')
例子:
- select ename,NVL(TO_char(comm), ename||'is not a salesperson!') AS COMMISSION
- from emp
二 NVL2(表达式 1, 表达式 2, 表达式 3)
如果表达式 1 为空, 返回值为表达式 3 的值. 如果表达式 1 不为空, 返回值为表达式 2 的值.
例如 NVL2(comm,'sal+comm',sal)
NVL2 函数测试 comm
如果 comm 为空, 就返回 sal 的值. 如果 comm 不为空(null), 就返回表达式 sal+comm 的值.
来源: http://www.bubuko.com/infodetail-2557437.html