NVL関数 【Null Value Logic】
概要
NVL関数(Null Value Logic)とは、Oracle DatabaseのSQL文で利用できる関数の一つで、指定された式がNULL値だった場合に別の値を返すようにすることができるもの。書式は NVL(式1,式2) で、最初の引数で指定した式1を評価して値が非NULL値であればその値を返し、NULL値であれば2番目の引数で指定した式2の評価した値を返す。式はカラム名や値リテラル、関数などを組み合わせて表記することができる。
NVL関数を拡張したNVL2関数もあり、引数が3つに増えている。書式は NVL2(式1,式2,式3) で、式1を評価した結果が非NULL値の場合は式2を評価した値を、NULL値の場合は式3を評価した値を返す。非NULL値の場合にも(評価式以外の)式を指定できる点がNVL関数と異なる。
NVL関数はOracle Database独自の関数であるため、Informixなど少数の採用例はあるものの他のRDBMSでは利用できないことが多い。SQL ServerではISNULL関数で似た操作が可能なほか、様々なRDBMSに実装されている関数の中ではCOALESCE関数が近い機能を持っている。
(2023.6.1更新)