NVL

構文

目的

NVLを使用すると、NULL(空白として戻される)を文字列に置換して問合せの結果に含めることができます。expr1がnullの場合、NVLexpr2を返します。expr1がnullでない場合、NVLexpr1を返します。

引数expr1およびexpr2は任意のデータ型にすることができます。2つの引数のデータ型が異なる場合、一方のデータ型が他方のデータ型に暗黙的に変換されます。暗黙的に変換できない場合、データベースはエラーを戻します。暗黙的な変換は、次のように実行されます。

  • expr1が文字データの場合、Oracle Databaseは2つの引数を比較する前にexpr2expr1のデータ型に変換し、expr1の文字セットでVARCHAR2を戻します。

  • expr1が数値である場合、Oracle Databaseは数値の優先順位が最も高い引数を判断し、その引数のデータ型に他方の引数を暗黙的に変換して、そのデータ型を戻します。

関連項目:

次の例では、従業員の名前と歩合のリストを戻し、従業員が歩合を受け取らない場合には「Not Applicable」を表示します。

SELECT last_name, NVL(TO_CHAR(commission_pct), 'Not Applicable') commission
  FROM employees
  WHERE last_name LIKE 'B%'
  ORDER BY last_name;
 
LAST_NAME                 COMMISSION
------------------------- ----------------------------------------
Baer                      Not Applicable
Baida                     Not Applicable
Banda                     .1
Bates                     .15
Bell                      Not Applicable
Bernstein                 .25
Bissot                    Not Applicable
Bloom                     .2
Bull                      Not Applicable