Oracle:nvl函数

    xiaoxiao2025-08-10  8

    Oracle函数课程:nvl函数

    1. NVL(x,value)

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

    案例7:对工资是2000元以下的员工,如果没有发奖金,每人奖金100元。

    代码演示:NVL函数

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

    ENAME

    JOB

    SAL

    NVL(COMM,100)

    SMITH

    CLERK

    800

    100

    ALLEN

    SALESMAN

    1600

    300

    WARD

    SALESMAN

    1250

    500

    MARTIN

    SALESMAN

    1250

    1400

    TURNER

    SALESMAN

    1500

    50

    ADAMS

    CLERK

    1100

    100

    JAMES

    CLERK

    950

    100

     

    7 rows selected

    2. NVL2(x,value1,value2)

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

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

    代码演示:NVL2函数

    SQL> SELECT ENAME,JOB,SAL,NVL2(COMM,comm+100,200) "comm"

      2  FROM EMP WHERE SAL<2000;

     ENAME

    JOB

    SAL

    comm

    SMITH

    CLERK

    800

    200

    ALLEN

    SALESMAN

    1600

    400

    WARD

    SALESMAN

    1250

    600

    MARTIN

    SALESMAN

    1250

    1500

    TURNER

    SALESMAN

    1500

    150

    ADAMS

    CLERK

    1100

    200

    JAMES

    CLERK

    950

    200

    MILLER

    CLERK

    1300

    200

    8 rows selected

    来源:Oracle培训

    转载请注明原文地址: https://ju.6miu.com/read-1301597.html
    最新回复(0)