SQL Server 2008R2의 재작성은 구별되고 구별되지 않습니다
질문:
Microsoft SQL Server 2008R2(IS DISTINCT FROM 및 IS NOT DISTINCT FROM 연산자를 지원하지 않음)에서 IS DISTINCT FROM 및 IS NOT DISTINCT FROM 연산자가 포함된 식을 어떻게 다시 작성합니까?
정답:
과 다릅니다.
IS DISTINCT FROM 조건자는 두 값을 비교할 때 이진 결과(참 또는 거짓)를 보장합니다. 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은 두 값 사이에 큰 차이가 있는지 확인합니다. 다음과 같이 다시 작성할 수 있습니다.
<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로 평가되어야 하지만 잘못된 표현식은 알 수 없음을 생성합니다.위 내용은 SQL Server 2008R2에서 IS DISTINCT FROM 및 IS NOT DISTINCT FROM을 다시 작성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!