翻訳ページ
このページは AI の支援を受けて英語から翻訳されています。内容が異なる場合は英語版が正となります。
NULLIF
2 つの引数を受け取り、両者が等しい場合は NULL 値を返し、それ以外の場合は最初の引数を返します。
NULLIF関数はCASE WHEN expression1 = expression2 THEN NULL ELSE expression1 ENDと同等です。
NULLIFは、AVG、MAX、MIN、SUM、COUNTなどの集約関数と組み合わせると便利です。結果セットに、NULLではないものの集約の際にはNULLとして扱いたい特殊な値が含まれる場合に役立ちます。
関連項目:
[SELECT] [COALESCE] [IFNULL]
構文
SELECT NULLIF(expression1, expression2) FROM <multipartIdentifier>;
引数
expression
NULL 値または NULL 以外の値に評価される、任意のデータ型の 2 つの式。
NULLIF関数は、照合関数を定義している引数を左から右へ検索し、その照合関数をすべての文字列比較に使用します。どちらの引数も照合関数を定義していない場合は、BINARY照合が使用されます。
戻り値
2 つの expression 引数が同じ値に評価される場合は NULL を返し、それ以外の場合は最初の値を返します。
例
フィールドが指定した値と等しくない行を数える
SELECT COUNT(NULLIF(name, 'controller-0'))
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
/*
equivalent to:
SELECT COUNT(*) FROM google.compute.instances
WHERE name != 'controller-0';
*/
詳細については、https://www.sqlite.org/lang_corefunc.html#nullif を参照してください。