IS NULL と =NULL の違い
SQL では、IS NULL
演算子と =NULL
演算子の両方を使用して、フィールドに null 値が含まれているかどうかを確認します。ただし、その動作方法には大きな違いがあり、不適切に使用すると予期しない結果が生じる可能性があります。
=NULL
=NULL
演算子は、フィールドに明示的に NULL 値が割り当てられている場合にのみ true を返します (field = NULL
など)。ただし、WHERE
句では NULL 値を false として扱うため、結果セットから NULL 値を含む行が除外されます。
は NULL
IS NULL
演算子は、フィールドが明示的に NULL に割り当てられている場合、または値がまったくない場合 (たとえば、field IS NULL
) に true を返します。この動作は、WHERE
句の内側と外側で一貫しています。
いつどの演算子を使用するか
IS NULL
を使用します。
WHERE
=NULL
を使用することは避けてください。これは、結果セットに含める必要がある NULL 値を含む行を除外するためです。 NULL 値を明示的にチェックするには、代わりに を使用してください。 IS NULL
例
次のクエリは、 を使用して、「name」フィールドに NULL 値を含むすべての行を選択します。
IS NULL
<code class="language-sql">SELECT * FROM table WHERE name IS NULL;</code>
が使用されており、NULL 値を含む行が誤って除外されます。
WHERE
=NULL
<code class="language-sql">SELECT * FROM table WHERE name = NULL;</code>
以上がSQL における IS NULL と =NULL: 違いは何ですか? それぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。