構文
用途
NVL
を使用すると、NULL(空白として戻される)を文字列に置換して問合せの結果に含めることができます。expr1
がnullの場合、NVL
はexpr2
を返します。expr1
がnullでない場合、NVL
はexpr1
を返します。
引数expr1
およびexpr2
は、任意のデータ型を持つことができます。2つの引数のデータ型が異なる場合、一方のデータ型が他方のデータ型に暗黙的に変換されます。暗黙的に変換できない場合、データベースはエラーを戻します。この暗黙的な変換は次のように実装されます。
expr1
が文字データの場合、Oracle Databaseは2つの引数を比較する前にexpr2
をexpr1
のデータ型に変換し、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