勵志

勵志人生知識庫

nvl2用法

OracleNVL2函式是一個條件表達式函式,用於在兩個值之間進行選擇。它接受三個參數:表達式1,表達式2表達式3。如果表達式1的值不為NULL,則返回表達式2的值;如果表達式1的值為NULL,則返回表達式3的值。

語法如下:

NVL2(expression1, expression2, expression3)

其中:

expression1:需要判斷是否為NULL的表達式。

expression2:如果expression1不為NULL,則返回的值。

expression3:如果expression1為NULL,則返回的值。

例如,SELECT NVL2(NULL, 『A』, 『B』) FROM dual; 結果: B。

NVL2函式的套用場景也比較多,常用於根據查詢的值返回不同的結果。例如,查詢性別。select nvl2(gender,'男','女') as sex from student; 或者用列轉行函式 vm_concat 查詢一個用戶和他的賬號顯示為用戶名a(賬號b)效果。假如b參數為空的情況就會出現「a()」的參數,而我想要的是b參數為空的情況,直接返回「a」參數,b參數不為空的情況才返回「a(b)」類型的數據,通過nvl2函式就可以很好的實現。