SQL NULL 値比較のパラドックス: IS NULL と = NULL の区別
SQL の分野では、NULL 値の概念が開発者に課題をもたらすことがよくあります。問題の 1 つは、IS NULL 演算子と = NULL 演算子を使用して NULL 値を比較する場合です。見た目は似ていても、結果は大きく異なり、多くの人を混乱させています。
違いを理解する
各演算子をいつ使用するか
彼らの異なる行動を考慮すると:
例
次の形式を考えてみましょう:
<code>| id | name | |---|---| | 1 | John | | 2 | NULL | | 3 | Mary |</code>
<code>SELECT * FROM table WHERE name = NULL;</code>
結果: = NULL は NULL を false として扱うため、行は返されません。
<code>SELECT * FROM table WHERE name IS NULL;</code>
結果: ID 2 の行を返し、NULL 値を正しく識別します。
以上がSQL NULL の等価性: IS NULL と = NULL をいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。