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エディタを開く