ORACLE関数

[ORACLE関数] NULLを別の値に置き換える(NVL、NVL2)

投稿日:2017年3月21日 更新日:

nullを別の値に置き換えたい場合は、NVL関数またはNVL2関数を使用します。

構文

nullの場合のみ別の値に置き換える場合は、NVLを使用します。

NVL(<対象値>, <NULLの場合の値>)

nullの場合とnullでない場合それぞれで別の値に置き換える場合は、NVL2を使用します。

NVL2(<対象値>, <NULLでない場合の値>, <NULLの場合の値>)

サンプルソース

【TBL_SYAIN】
CDNAMEDEPT
001鈴木総務部
002田中開発部
003伊藤null
004山下null
005武田営業部

例)nullの場合は'所属なし'と表示する

結果
name dept ----- ------------------ 鈴木 総務部 田中 開発部 伊藤 所属なし 山下 所属なし 武田 営業部

例)nullの場合は'未所属'、nullでない場合は'所属済み'と表示する

結果
name dept ----- ------------------ 鈴木 所属済み 田中 所属済み 伊藤 未所属 山下 未所属 武田 所属済み

メモ

  • 引数に指定する値の型は合わせる必要があります。
    (例えば、NVLの第1引数には文字型、第2引数には数値型というのはNGです)
  • NVL/NVL2関数は、SELECT部以外のWHERE部などにも指定可能でます。
  • NVL2はSQL文では使用できますが、ストアド(PL/SQL)では使用できないのでご注意ください。(PLS-00201エラーが発生します。)

スポンサーリンク

スポンサーリンク

-ORACLE関数
-

執筆者:



comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

スポンサーリンク