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

本文将演示Oracle中的NVLNVL2函数的用法。函数

函数code

功能blog

NVL(x,value)ip

若是x为空,返回value,不然返回xget

NVL2(x,value1,value2)table

若是x非空,返回value1,不然返回value2基础

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

NVL(x,value)img

若是x为空,返回value,不然返回x。tab

示例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行。

 

NVL2(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行。

相关文章
相关标签/搜索