カテゴリ:

条件式関数

NVL2

最初の入力が NULLかどうかに応じて値を返します。

  • 式1 が NOT NULLの場合、 NVL2 は 式2 を返します。

  • 式1 が NULLの場合、 NVL2 は 式3 を返します。

構文

NVL2( <expr1> , <expr2> , <expr3> )

引数

式1

NULL かどうかを確認するためにチェックされる式です。

式2

式1 が NULLでない場合にこの式が評価され、値が返されます。

式3

式1 が NULL の場合にこの式が評価され、値が返されます。

使用上の注意

  • 3つの式はすべて同じ(または互換性のある)データ型でなければなりません。

照合の詳細

  • この式で重要なのは、 NULL かどうかのみのため、 式1 の照合指定は無視されます。

  • 式2式3 の照合仕様は互換性がなければなりません。

  • 関数から返される値は、 式2式3 の最高の 優先順位 照合です。

a がnullでない場合は b を返し、そうでない場合は c を返します。

SELECT a, b, c, NVL2(a, b, c) FROM i2;

--------+--------+--------+---------------+
   A    |   B    |   C    | NVL2(A, B, C) |
--------+--------+--------+---------------+
 0      | 5      | 3      | 5             |
 0      | 5      | [NULL] | 5             |
 0      | [NULL] | 3      | [NULL]        |
 0      | [NULL] | [NULL] | [NULL]        |
 [NULL] | 5      | 3      | 3             |
 [NULL] | 5      | [NULL] | [NULL]        |
 [NULL] | [NULL] | 3      | 3             |
 [NULL] | [NULL] | [NULL] | [NULL]        |
--------+--------+--------+---------------+