NULL テストを行い、適切な式を返す汎用 SQL 関数です。
Synopsis
NVL(check-expression,replace-expression)
引数
check-expression 評価される式。
replace-expression check-expression が NULL の場合に返される式。
概要
NVLcheck-expression を評価し、2 つの値のうち 1 つを返します。
引数 check-expression および replace-expression は、あらゆるデータ型を持つことができます。それらのデータ型が異なる場合、Caché はそれらを比較する前に replace-expressioncheck-expression のデータ型に変換します。返り値のデータ型は常に check-expression と同じです。ただし、check-expression が文字データでない場合は、返り値のデータ型は VARCHAR2 になります。
以下の表は、さまざまな SQL 比較関数を示します。比較テストが真 (A は B と等しい) の場合、各関数は特定の値を返し、偽 (A は B と等しくない) の場合、別の値を返します。
SQL 関数 比較テスト 返り値
NULLIF 式 1 = 式 2
真 = NULL
偽 = 式 1
IFNULL (2-引数形式) 式 1 = NULL
真 = 式 2
偽 = NULL
ISNULL 式 1 = NULL
真 = 式 2
偽 = 式 1
NVL 式 1 = NULL
真 = 式 2
偽 = 式 1
IFNULL (3-引数形式) 式 1 = NULL
真 = 式 2
偽 = 式 3
NVL は Oracle との互換性のためにサポートされており、ISNULL 関数と同じである点に注意してください。
以下の例は、check-expression が NULL なので、replace-expression (99) を返します。
SELECT DISTINCT NVL(NULL,99) AS NullTest
FROM Sample.Person
以下の例は、check-expression が NULL ではないので、check-expression (33) を返します。
SELECT DISTINCT NVL(33,99) AS NullTest
FROM Sample.Person
以下の例では、FavoriteColors が NULL の場合は文字列 'No Preference' を返し、そうでない場合は FavoriteColors の値を返します。
SELECT Name,
NVL(FavoriteColors,'No Preference') AS ColorPref
FROM Sample.Person
関連項目
ISNULL IFNULL