>데이터 베이스 >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:16:43265검색

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의 확실한 결과를 얻어야 하는 사용자에게 문제를 야기합니다.

Rewriting Alternatives

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은 다음과 같이 평가됩니다. 알 수 없음. 이는 원하는 결과가 아닙니다. 따라서 정확한 재작성을 위해서는 위에 제공된 표현식을 사용하는 것이 중요합니다.

결론

이 재작성된 표현식을 활용하면 SQL Server 2008R2 사용자는 다음과 동일한 기능을 얻을 수 있습니다. IS DISTINCT FROM 및 IS NOT DISTINCT FROM을 통해 비교를 통해 항상 확실한 결과를 얻을 수 있습니다.

위 내용은 SQL Server 2008R2에서 IS DISTINCT FROM과 IS NOT DISTINCT FROM을 어떻게 시뮬레이션할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.