Oracle常用函数系列之七:空检查换函数

本文将演示Oracle中的NVL和NVL2函数的用法。

函数

功能

NVL(x,value)

如果x为空,返回value,否则返回x

NVL2(x,value1,value2)

如果x非空,返回value1,否则返回value2

下面将结合实例对这两个函数进行介绍。

lNVL(x,value)

如果x为空,返回value,否则返回x。

示例1对工资SAL是1500元以下的员工,如果没有发奖金,每人奖金200元。

SQL> SELECT ENAME,JOB,SAL,COMM,NVL(COMM,200) FROM EMP WHERE SAL<1500;

ENAME      JOB              SAL       COMM NVL(COMM,200)

---------- --------- ---------- ---------- -------------

SMITH      CLERK            800                      200

WARD       SALESMAN        1250        500           500

MARTIN     SALESMAN        1250       1400          1400

ADAMS      CLERK           1100                      200

JAMES      CLERK            950                      200

MILLER     CLERK           1300                      200

已选择6行。

lNVL2(x,value1,value2)

如果x非空,返回value1,否则返回value2。

2对EMP表中工资为1500元以下的员工,如果没有奖金,则奖金为200元,如果有奖金,则在原来的奖金基础上加100元。

SQL> SELECT ENAME,JOB,SAL,COMM,NVL2(COMM,200,100) FROM EMP WHERE SAL<1500;

ENAME      JOB              SAL       COMM NVL2(COMM,200,100)

---------- --------- ---------- ---------- ------------------

SMITH      CLERK            800                           100

WARD       SALESMAN        1250        500                200

MARTIN     SALESMAN        1250       1400                200

ADAMS      CLERK           1100                           100

JAMES      CLERK            950                           100

MILLER     CLERK           1300                           100

已选择6行。

你可能感兴趣的:(Oracle常用函数系列之七:空检查换函数)