ORACLE内置函数大全补充(为空处理函数)

一下函数式支持返回值类型 :
字符型、日期型、日期时间型、数值型、货币型、逻辑型或 null 值

1.COALESCE()
PS : COALESCE()函数是ASNI标准的SQL函数,MS SQL 和 Oracle 都可以用
用法 :
Oracle COALESCE函数语法为COALESCE(表达式1,表达式2,…,表达式n),n>=2,此表达式的功能为返回第一个不为空的表达式,如果都为空则返回空值。表达式的类型需要一致

如在 oracle 内置表 emp 中 , 如果 comm 字段值为空 , 则设置 new_comm 为200
 select a.empno,a.ename,comm,coalesce(comm,200)new_comm from emp a; 

EMPNO ENAME                      COMM         NEW_COMM  
---------- -------------------- ---------- ----------  
      7369 SMITH                                  200  
      7499 ALLEN                 300              300  
      7521 WARD                  500              500  
      7566 JONES                                  200  
      7654 MARTIN                1400            1400  
      7698 BLAKE                                  200  
      7782 CLARK                                  200  
      7788 SCOTT                                  200  
      7839 KING                                   200  
      7844 TURNER                 0               0  
      7876 ADAMS                                  200  

2.NVL(exp1,exp2)
如果 exp1 是空值 , 则返回 exp2 的值 , 如果 exp1 不是空值 , 则返回它本身 ; 注意表达式的值类型要一致
用法:

select ename,NVL(comm, -1) from emp;

ENAME       NVL(COMM,-1)
------- ----
SMITH       -1
ALLEN       300
WARD        500
JONES        -1
MARTIN      1400
BLAKE       -1
FORD        -1
MILLER       -1

3.NVL2(exp1,exp2,exp3)
如果 exp1 表示的值为空 , 则返回 exp2 的值 , 反之则返回 exp3 的值
用法:

elect ename,NVL2(comm,-1,1) from emp;

ENAME    NVL2(COMM,-1,1)
------- -----
SMITH        1
ALLEN       -1
WARD        -1
JONES        1
MARTIN      -1
BLAKE        1
CLARK        1
SCOTT        1

你可能感兴趣的:(oracle)