ヌル、ヌルって、うるさいなぁ。
だいたいなんでヌルっていうんだよ-。想像しちゃうね。
NVL( 文字列 , 変換値 )
文字列 がNULLの場合は、変換値を返す。
NULLでなければ、文字列を返す。
select nvl(null,'ヌルです') from dual
'ヌルです'
select nvl('ぼけ','ヌルです') from dual
'ぼけ'
select nvl(数値列,0) from dual
数値列がNULLなら、0を返す。
NULLでないなら、数値列の値を返す
Oracle8iからは、NVL2関数も使えます。
NVLに似ていますが、、使える引数が増えます。
NVL( 文字列, Nullじゃない場合に返す値, NULLの時に返す値)
select nvl2(列1,'NULLじゃないよ','NULLでした!) from dual;
Oracle9iから使えます。
NVL2関数のNULLか否かの問い合わせを複数かけます。DECODEみたいですね。
COALESCE(列1,列2,列3,'NULLでしたー')
列1がNULLなら列2を、列2もNULLなら列3を、列3もNULLなら「NULLでしたー」という文字列を返します。
select coalesce(列1,列2,列3,'NULLでしたー') from XXXX;
思い出したかい?ボーイ? それとも知らなかったかい?