NULL テストを行い、適切な式を返す汎用 SQL 関数です。
Synopsis
ISNULL(check-expression,replace-expression)
引数
check-expression 評価される式
replace-expression check-expression が NULL の場合に返される式。
概要
ISNULLcheck-expression を評価し、2 つの値のうち 1 つを返します。
replace-expression の可能なデータ型は、check-expression のデータ型と互換性がある必要があります。
以下の表は、さまざまな 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
ISNULL 関数は NVL 関数と同じであり、Oracle との互換性のために提供されているという点に注意してください。
以下の例では、FavoriteColors が NULL の場合は文字列 'No Preference' を返し、そうでない場合は FavoriteColors の値を返します。
SELECT Name,
ISNULL(FavoriteColors,'No Preference') AS ColorPref
FROM Sample.Person
ISNULL の動作を IFNULL と比較します。
SELECT Name,
IFNULL(FavoriteColors,'No Preference') AS ColorPref
FROM Sample.Person
以下の例では、最初の式が NULL なので、2 番目の式 (99) を返します。
SELECT DISTINCT ISNULL(NULL,99) AS NullTest
FROM Sample.Person
以下の例は、最初の式が NULL ではないので、最初の式 (33) を返します。
SELECT DISTINCT ISNULL(33,99) AS NullTest
FROM Sample.Person
関連項目
IFNULL NVL