ホームページ  >  記事  >  データベース  >  MySQL で「<=>」演算子を使用する方法

MySQL で「<=>」演算子を使用する方法

醉折花枝作酒筹
醉折花枝作酒筹転載
2021-05-18 09:43:033353ブラウズ

この記事では、MySQL で "<=>" 演算子を使用する方法を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

MySQL で「<=>」演算子を使用する方法

質問:

以前の開発者のコ​​ードを見ていたら、

?1WHERE p.name が見つかりました。 <=>NULL

このクエリ ステートメントの <=> 記号は何を意味しますか? =記号と同じですか?それとも文法上の間違いでしょうか?ただし、エラーや例外は表示されません。 mysql の <> = != などの記号はすでに知っています。

ベストアンサー:

= 記号と同じ点

通常の = 演算子と同様に、2 つの値が比較され、結果がは 0 (等しくない) または 1 (等しい) です。つまり、「A'<=>B」は 0 を取得し、「a'<=>a」は 1 を取得します。

2.

と = 演算子の違いは、NULL の値には意味がないことです。したがって、= 演算子は NULL を有効な結果として扱うことができません。したがって、<=>,

'a' <=> NULL は 0 NULL を取得します<=> NULL は 1 を取得します。 = 演算子とは対照的に、= 演算子の規則は 'a'=NULL であり、結果は NULL になります。NULL = NULL であっても、結果は NULL になります。ちなみに、NULL との比較は基本的に無意味であるため、MySQL 上のほとんどすべての演算子と関数はこのように動作します。

使用

2 つのオペランドに NULL が含まれる可能性がある場合は、一貫したステートメントが必要です。

?1...WHERE col_a <=> ? ...

ここのプレースホルダーは定数または NULL にすることができます。<=> 演算を使用する場合は、次のようにします。クエリステートメントを変更する必要はありません。

関連演算子

<=> に加えて、特定の値を NULL と比較するために使用される他の 2 つの演算子、つまり IS NULL と IS NOT があります。ヌル。これらは ANSI 標準の一部であるため、他のデータベースでも使用できます。 <=> は mysql でのみ使用できます。

<=> は mysql の方言と考えることができます。

?12'a' は NULL ==>'a' <=>NULL'a' は NULL ではありません ==>NOT('a' <=>NULL)

これに従って、このクエリ ステートメント セグメントを移植性を高めるために変更できます:

?1WHERE p.name IS NULL

関連する推奨事項: "mysql チュートリアル

以上がMySQL で「<=>」演算子を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。