- カテゴリ:
NVL2¶
最初の入力が NULLかどうかに応じて値を返します。
expr1
が NOT NULL の場合、 NVL2 はexpr2
を返します。expr1
が NULL の場合、 NVL2 はexpr3
を返します。
構文¶
NVL2( <expr1> , <expr2> , <expr3> )
引数¶
expr1
NULL かどうかを確認するためにチェックされる式です。
expr2
expr1
が NULLでない場合にこの式が評価され、値が返されます。expr3
expr1
が 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] | --------+--------+--------+---------------+