DISTINCT 술어
DISTINCT 술어는 두 표현식을 비교하고 해당 값이 동일하지 않으면 TRUE로 평가됩니다.
DISTINCT 술어의 결과는 입력 표현식 중 하나 또는 둘 다 널(NULL)인지 여부에 따라
다릅니다.
DISTINCT 술어의 결과는 널(NULL)이 될 수 없습니다.
| 입력 표현식 | IS DISTINCT FROM | IS NOT DISTINCT FROM |
|---|---|---|
| 두 입력이 모두 널(NULL)이 아닙니다. | 입력이 동일하지 않은 경우 TRUE로, 동일한 경우 FALSE로 평가됩니다. <> 연산자와 동등합니다. | 입력이 동일하지 않은 경우 FALSE로, 동일한 경우 TRUE로 평가됩니다. = 연산자와 동등합니다. |
| 하나의 입력이 널(NULL)입니다. | TRUE로 평가됩니다. | FALSE로 평가됩니다. |
| 두 입력이 모두 널(NULL)입니다. | FALSE로 평가됩니다. | TRUE로 평가됩니다. |
- expression1 및 expression2
- 비교할 표현식입니다.
예
HV가 호스트 변수이고 T1이 하나의 컬럼(C1)과 세 개의 행이 있는 테이블이라고
가정하십시오.
C1
----
1
2
NULL
- HV=2인 경우 명령문이
다음과 같습니다.
이 명령문은 행 1과 3을 리턴합니다.SELECT * FROM T1 WHERE C1 IS DISTINCT FROM :HV;HV=2인 경우 명령문이 다음과 같습니다.
이 명령문은 행 2를 리턴합니다.SELECT * FROM T1 WHERE C1 IS NOT DISTINCT FROM :HV; - HV=NULL인 경우 명령문이
다음과 같습니다.
이 명령문은 행 1과 2를 리턴합니다.SELECT * FROM T1 WHERE C1 IS DISTINCT FROM :HV;HV=NULL인 경우 명령문이 다음과 같습니다.
이 명령문은 행 3을 리턴합니다.SELECT * FROM T1 WHERE C1 IS NOT DISTINCT FROM :HV;
