Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

NULLIF (SQL)

2 つの式の値が同じ場合に NULL を返す関数。

Synopsis

NULLIF(expression1,expression2)

引数

引数 説明
expression1 列の名前、数値リテラル、文字列リテラル、ホスト変数、または他のスカラ関数の結果を指定できる式。
expression2 列の名前、数値リテラル、文字列リテラル、ホスト変数、または他のスカラ関数の結果を指定できる式。

NULLIF が返す値のデータ型は、expression1データ型と同じです。

概要

NULLIF 関数は、expression1 の値が expression2 の値に等しい場合に NULL を返します。そうでない場合は、expression1 の値を返します。

NULLIF は、以下と同等です。

SELECT CASE 
WHEN value1 = value2 THEN NULL
ELSE value1
END
FROM MyTable

NULL を処理する関数の比較

以下の表は、さまざまな SQL 比較関数を示します。論理比較テストが True (A は B と同じ) の場合、各関数は特定の値を返し、False (A は B と同じではない) の場合、別の値を返します。これらの関数により、NULL の論理比較を実行できます。実際の等値 (または非等値) 条件比較で NULL を指定することはできません。

SQL 関数 比較テスト 返り値
NULLIF(ex1,ex2) ex1 = ex2

True の場合、NULL を返す

False の場合、ex1 を返す

ISNULL(ex1,ex2) ex1 = NULL

True の場合、ex2 を返す

False の場合、ex1 を返す

IFNULL(ex1,ex2) [引数が 2 つの形式] ex1 = NULL

True の場合、ex2 を返す

False の場合、NULL を返す

IFNULL(ex1,ex2,ex3) [引数が 3 つの形式] ex1 = NULL

True の場合、ex2 を返す

False の場合、ex3 を返す

{fn IFNULL(ex1,ex2)} ex1 = NULL

True の場合、ex2 を返す

False の場合、ex1 を返す

NVL(ex1,ex2) ex1 = NULL

True の場合、ex2 を返す

False の場合、ex1 を返す

COALESCE(ex1,ex2,...) 各引数で ex = NULL

True の場合、次の ex 引数をテストすべての ex 引数が True (NULL) の場合、NULL を返す

False の場合、ex を返す

以下の例は、NULLIF 関数を使用して、Age=20 を持つすべてのレコードの表示フィールドを NULL に設定します。

SELECT Name,Age,NULLIF(Age,20) AS Nulled20
FROM Sample.Person

関連項目

FeedbackOpens in a new tab