- カテゴリ:
NVL2¶
最初の入力が NULLかどうかに応じて値を返します。
expr1が NOT NULL の場合、 NVL2 はexpr2を返します。expr1が NULL の場合、 NVL2 はexpr3を返します。
構文¶
NVL2( <expr1> , <expr2> , <expr3> )
引数¶
expr1NULL かどうかを確認するためにチェックされる式です。
expr2expr1が NULLでない場合にこの式が評価され、値が返されます。expr3expr1が NULL の場合にこの式が評価され、値が返されます。
使用上の注意¶
3つの式はすべて同じ(または互換性のある)データ型でなければなりません。
照合順序の詳細¶
この式で重要なのは、 NULL かどうかのみのため、
expr1の照合指定は無視されます。expr2とexpr3の照合仕様には互換性が必要です。関数から返される値は、
expr2とexpr3の最上位の 優先順位 照合です。
例¶
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] | --------+--------+--------+---------------+