カテゴリ:

条件式関数

NVL2

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

  • expr1 が NOT NULL の場合、 NVL2 は expr2 を返します。

  • expr1 が NULL の場合、 NVL2 は expr3 を返します。

構文

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

引数

expr1

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

expr2

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

expr3

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

使用上の注意

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

照合順序の詳細

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

  • expr2expr3 の照合仕様には互換性が必要です。

  • 関数から返される値は、 expr2expr3 の最上位の 優先順位 照合です。

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] | --------+--------+--------+---------------+ 
Copy