ホームページ >データベース >mysql チュートリアル >SQL Server 2008R2 で IS DISTINCT FROM と IS NOT DISTINCT FROM を書き換える方法は?

SQL Server 2008R2 で IS DISTINCT FROM と IS NOT DISTINCT FROM を書き換える方法は?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-11 07:48:44719ブラウズ

How to Rewrite IS DISTINCT FROM and IS NOT DISTINCT FROM in SQL Server 2008R2?

SQL Server 2008R2 ではリライトは DISTINCT FROM であり、IS NOT DISTINCT FROM です

質問:

Microsoft SQL Server 2008R2 (IS DISTINCT FROM 演算子と IS NOT DISTINCT FROM 演算子はサポートされていません) で、IS DISTINCT FROM 演算子と IS NOT DISTINCT FROM 演算子を含む式を書き直すにはどうすればよいですか?

答え:

とは異なります

IS DISTINCT FROM 述語は、2 つの値を比較するときにバイナリ結果 (true または false) を保証します。 SQL Server 2008R2 の場合、この述語は次の式を使用してシミュレートできます:

<code class="language-sql">((a != b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))</code>

と区別できません

同様に、IS NOT DISTINCT FROM は 2 つの値の間に大きな違いがあるかどうかをチェックします。これは次のように書き換えることができます:

<code class="language-sql">(NOT (a != b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL))</code>

誤答との比較

与えられた不正解は、ブール式の NULL 値の評価を考慮していません。たとえば、NULL IS DISTINCT FROM NULL は False と評価されるはずですが、式が正しくないと Unknown となります。

以上がSQL Server 2008R2 で IS DISTINCT FROM と IS NOT DISTINCT FROM を書き換える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。