Oracle DB

NVL / NVL2

NULL値を別値に変換するOracle独自関数

解説

Oracle Databaseで最も広く使われている独自のNULL値置換関数です。値がNULLだった場合に指定したデフォルト値へと置き換えます。

NVL2関数の存在

Oracleには NVL2(式, A, B) という派生関数もあり、「式がNULLでないならA、NULLならB」という3項演算子のような処理をシンプルに記述できます。他DBへ移植する際は COALESCE や CASE式 に書き換える必要があります。

構文
NVL(列, 代替値) / NVL2(列, 非NULL時の値, NULL時の値)
具体例
SELECT emp_name, salary + NVL(bonus, 0) FROM emps_test;

この構文を実際に書いて試してみませんか?

SQLエディタを開く