ホームページ > データベース > mysql チュートリアル > MySQL の「Null-Safe Equal Operator」はどのように機能するのでしょうか?

MySQL の「Null-Safe Equal Operator」はどのように機能するのでしょうか?

DDD
リリース: 2025-01-05 04:50:40
オリジナル
523 人が閲覧しました

How Does MySQL's `` Null-Safe Equal Operator Work?

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 標準の一部であり、他のデータベースでも同様にサポートされています。これらは <=> の特殊化として見ることができます。演算子:

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

サポート

しながら <=>は MySQL 固有であるため、SQL:2003 標準では IS [NOT] DISTINCT FROM と呼ばれる同様の述語が導入されました。この述語は MySQL の <=> と同じように機能します。演算子。

以上がMySQL の「Null-Safe Equal Operator」はどのように機能するのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート