집 >데이터 베이스 >MySQL 튜토리얼 >SQL Server 2008R2에서 IS DISTINCT FROM과 IS NOT DISTINCT FROM을 어떻게 시뮬레이션할 수 있습니까?
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))
(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 중국어 웹사이트의 기타 관련 기사를 참조하세요!