DISTINCT 술어
DISTINCT 술어는 두 표현식을 비교하고 이들의 값이 동일하지 않은 경우 TRUE로 평가합니다.
DISTINCT 술어의 결과는 입력 표현식 중 하나가 널(NULL)인지, 또는 둘 다 널(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;
