- カテゴリ:
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] | --------+--------+--------+---------------+