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
發佈了141 篇原創文章 · 獲贊 851 · 訪問量 185萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章