Oracle null判斷並替換空值

  可用 NVL(), IFNULL() ,COALESCE(),DECODE() 函數html

1.NVL()express

從兩個表達式返回一個非 null 值。
語法
NVL(eExpression1, eExpression2)
參數
eExpression1, eExpression2函數


若是 eExpression1 的計算結果爲 null 值,則 NVL( ) 返回 eExpression2。若是 eExpression1 的計算結果不是 null 值,則返回 eExpression1。eExpression1 和 eExpression2 能夠是任意一種數據類型。若是 eExpression1 與 eExpression2 的結果皆爲 null 值,則 NVL( ) 返回 .NULL.。

返回值類型

字符型、日期型、日期時間型、數值型、貨幣型、邏輯型或 null 值post

 

2.NULLIF()url

若是兩個指定的表達式相等,則返回空值。
語法NULLIF ( expression1 , expression2 )
參數expression1, expression2
常量、列名、函數、子查詢或算術運算符、按位運算符以及字符串運算符的任意組合。
返回類型與第一個 expression1 相同。

spa

NULLIF與DECODEcode

           NULLIF(param,0)等效於DECODE(param,0,null,param):若是param爲0,則返回null,不然返回param。

htm

3.COALESCE()blog

Oracle COALESCE函數語法爲COALESCE(表達式1,表達式2,...,表達式n),n>=2,此表達式的功能爲返回第一個不爲空的表達式,若是都爲空則返回空值。字符串

注意:全部表達式必須爲同一類型或者能轉換成同一類型。

 

4.DECODE()

decode(條件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)

 

該函數的含義以下:


IF 條件=值1 THEN
    RETURN(返回值1)
ELSIF 條件=值2 THEN
    RETURN(返回值2)
    ......
ELSIF 條件=值n THEN
    RETURN(返回值n)
ELSE
    RETURN(缺省值)
END IF

 

參考:https://www.2cto.com/database/201303/193911.html

    ORACLE中DECODE的用法(例子)

    Oracle的NVL函數用法

    用 ISNULL(), NVL(), IFNULL() and COALESCE() 函數替換空值

相關文章
相關標籤/搜索