ホームページ > データベース > mysql チュートリアル > SQL Server 2008R2 で IS DISTINCT FROM と IS NOT DISTINCT FROM をシミュレートするにはどうすればよいですか?

SQL Server 2008R2 で IS DISTINCT FROM と IS NOT DISTINCT FROM をシミュレートするにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-11 07:16:43
オリジナル
263 人が閲覧しました

How Can I Simulate IS DISTINCT FROM and IS NOT DISTINCT FROM in SQL Server 2008R2?

SQL Server 2008R2 の述語の書き換えは IS DISTINCT FROM および IS NOT DISTINCT FROM

SQL Server 2008R2 では、標準は IS DISTINCT FROM および IS NOT DISTINCT FROM 演算子はサポートされました。これは、値を比較し、デフォルトの Unknown ではなく True または False の最終的な結果を取得する必要があるユーザーにとって問題となります。

代替案の書き換え

IS をエミュレートするにはDISTINCT FROM 述語と IS NOT DISTINCT FROM 述語の場合、次の式を使用できます。使用:

  • 書き換えは次と異なります:
((a <> b OR a IS NULL OR b IS NULL) AND NOT (a IS NULL AND b IS NULL))
ログイン後にコピー
  • 書き換えは区別されませんFROM:
(NOT (a <> b OR a IS NULL OR b IS NULL) OR (a IS NULL AND b IS NULL))
ログイン後にコピー

これらの式は、値が等しくないかどうか、またはいずれかの値が null かどうかを効果的に決定します。そうである場合、返される結果は True です。それ以外の場合は、False です。

よくある落とし穴の回避

次の式は IS DISTINCT FROM:しないことに注意することが重要です。 🎜>

FALSE OR NULL
ログイン後にコピー
SQL Server では、FALSE または NULLは Unknown と評価されますが、これは望ましい結果ではありません。したがって、正確に書き直すには、上記の式を使用することが重要です。

結論

これらの書き換えられた式を利用することで、SQL Server 2008R2 ユーザーは、SQL Server 2008R2 のユーザーと同じ機能を実現できます。 IS DISTINCT FROM および IS NOT DISTINCT FROM により、比較で常に最終的な結果が返されることが保証されます。

以上がSQL Server 2008R2 で IS DISTINCT FROM と IS NOT DISTINCT FROM をシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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