Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

NULLIF

式が True であれば NULL を返す関数です。

Synopsis

NULLIF(expression1,expression2)

引数

expression1 SQL 式。
expression2 SQL 式。

概要

expression1expression2 と等しい場合、NULLIF 関数は NULL を返します。それ以外は expression1 を返します。DISPLAY モードまたは ODBC モードで返されるデータ型は、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