SQL の !=
および <>
演算子と NULL 値: 明確化
SQL の !=
(等しくない) 演算子と <>
演算子は、NULL
値に遭遇したときに独特の動作を示します。 これを理解するには、SQL の NULL
の本質を理解する必要があります。
NULL
は、空の文字列 ("") やゼロ (0) ではなく、値が存在しないことを示します。 これは、フィールドまたは列にデータ値が割り当てられていないことを示します。
通常、値が異なる場合、!=
と <>
は true
を返します。 ただし、NULL
には適用されません。
次の点を考慮してください:
SELECT * FROM MyTable WHERE MyColumn != NULL; -- (0 Results)
このクエリでは、MyColumn
に NULL
以外のエントリが含まれている場合でも、結果はゼロになります。 理由? !=
と <>
は NULL
上で操作できません。比較するには具体的な値が必要です。
逆:
SELECT * FROM MyTable WHERE MyColumn IS NOT NULL; -- (568 Results)
このクエリは、MyColumn
が NULL
ではないすべての行を正しく返します。 IS NOT NULL
は、値 () の 不在NULL
をチェックするように特別に設計されています。
要約: NULL
は SQL における一意の値です。 !=
と比較するために <>
または NULL
を使用すると、常に false
が生成されます。 値が存在しないことを正確にテストするには、IS NOT NULL
演算子を使用します。
以上がSQL で `!=` および `` 演算子は NULL 値に対してどのように動作しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。