MySQL の <=>演算子: より深い理解
MySQL では、<=>演算子はクエリで頻繁に使用されますが、その目的は少しあいまいな場合があります。この記事は、その意味を明確にし、その応用を探ることを目的としています。
<=> とは何ですか。演算子?
<=> MySQL の演算子は、「null セーフな等号」演算子として知られています。これは、2 つの値を比較して 0 (等しくない) または 1 (等しい) を返す通常の = 演算子と同様に動作します。ただし、<=>
NULL の処理
通常の = 演算子とは異なり、<=> は NULL 値を別の方法で処理します。 NULL 値を他の値として扱います。これは、値と NULL を比較しても、結果が NULL になることは決してないことを意味します。代わりに、<=>値が等しくない場合は 0 を返し、等しい場合は 1 を返します。
たとえば、クエリ:
WHERE p.name <=> NULL
は、p.name 列が NULL または NULL であるすべての行を返します。 NULL ではありません。
<=> の有用性演算子
<=>演算子は、両方のオペランドに NULL 値が含まれる可能性があり、一貫した比較結果が必要な場合に特に便利です。さらに、プリペアド ステートメントとともに使用することもできます。この場合、プレースホルダーはクエリを変更せずにスカラー値と NULL の両方を受け入れることができます。
関連演算子
MySQL も提供しますNULL と比較するための他の 2 つの演算子: IS NULL と IS NOT NULL。これらの演算子は ANSI 標準の一部であり、他のデータベースでも同様にサポートされています。これらは <=> の特殊化として見ることができます。演算子:
サポート
しながら <=>は MySQL 固有であるため、SQL:2003 標準では IS [NOT] DISTINCT FROM と呼ばれる同様の述語が導入されました。この述語は MySQL の <=> と同じように機能します。演算子。
以上がMySQL の「Null-Safe Equal Operator」はどのように機能するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。