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))
(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 2008R2 ユーザーは、SQL Server 2008R2 のユーザーと同じ機能を実現できます。 IS DISTINCT FROM および IS NOT DISTINCT FROM により、比較で常に最終的な結果が返されることが保証されます。以上がSQL Server 2008R2 で IS DISTINCT FROM と IS NOT DISTINCT FROM をシミュレートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。