nvl()函數和nvl2()函數


如果你某個字段為空,但是你想讓這個字段顯示0,可以使用nvl(字段名,0),當然這個0也可以換成其他東西,如:1,2,3……

 

一 NVL(表達式1,表達式2)

如果表達式1為空值,NVL返回值為表達式2的值,否則返回表達式1的值。該函數的目的是把一個空值(null)轉換成一個實際的值。其表達式的值可以是數字型、字符型和日期型。但是表達式1和表達式2的數據類型必須為同一個類型

對數字型: NVL( comm,0);
對字符型 NVL( TO_CHAR(comm), 'No Commission')
對日期型 NVL(hiredate,' 31-DEC-99')

例子:
select 

  ename,NVL(TO_char(comm),ename||' is not a salesperson!') AS COMMISSION
from emp
 
 
二 NVL2(表達式1,表達式2,表達式3)

如果表達式1為空,返回值為表達式3的值。如果表達式1不為空,返回值為表達式2的值。

例如 NVL2(comm,'sal+comm',sal)
NVL2函數測試comm,如果comm為空,就返回sal 的值。如果 comm 不為空(null),就返回表達式 sal+comm的值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM