從兩個表達式傳回一個非 null 值。
文法
NVL(eExpression1, eExpression2)
參數
eExpression1, eExpression2
如果 eExpression1 的計算結果為 null 值,則 NVL( ) 傳回 eExpression2。如果 eExpression1 的計算結果不是 null 值,則傳回 eExpression1。eExpression1 和 eExpression2 可以是任意一種資料類型。如果 eExpression1 與 eExpression2 的結果皆為 null 值,則 NVL( ) 傳回 .NULL.。
傳回值類型
字元型、日期型、日期時間型、數值型、貨币型、邏輯型或 null 值
2.NULLIF()
如果兩個指定的表達式相等,則傳回空值。
文法NULLIF ( expression1 , expression2 )
參數expression1, expression2
常量、列名、函數、子查詢或算術運算符、按位運算符以及字元串運算符的任意組合。
傳回類型與第一個 expression1 相同。
NULLIF與DECODE
NULLIF(param,0)等效于DECODE(param,0,null,param):如果param為0,則傳回null,否則傳回param。
3.COALESCE()
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() 函數替換空值
Oracle null判斷并替換空值
标簽:資料類型 min 相同 用法 .com strong font https 預設
本條技術文章來源于網際網路,如果無意侵犯您的權益請點選此處回報版權投訴 本文系統來源:https://www.cnblogs.com/wangfuyou/p/10107137.html