일반적인 롤 토토 연산자가 제공됩니다.표 9.1.
표 9.1. 비교 연산자
운영자 | 설명 |
---|---|
Datatype < DataType →부울 |
보다 작음 |
DataType DataType →부울 |
보다 큰 |
DataType <= Datatype →부울 |
이하 |
Datatype = DataType →부울 |
더 크거나 |
DataType = DataType →부울 |
Equal |
DataType < DataType →부울 |
동일하지 않음 |
DataType ! = DataType →부울 |
동일하지 않음 |
<
표준 SQL 표기법입니다.“동일하지 않음”. ! =
는 별칭이며<
매우 초기 구문 분석. 따라서 구현할 수 없습니다! =
and<
다른 일을하는 연산자.
이 롤 토토 연산자는 숫자, 문자열 및 날짜/시간 유형을 포함하여 자연스러운 순서가있는 모든 내장 데이터 유형에 사용할 수 있습니다. 또한 구성 요소 데이터 유형이 롤 토토할 경우 배열, 복합 유형 및 범위를 롤 토토할 수 있습니다.
일반적으로 관련 데이터 유형의 값도 롤 토토할 수 있습니다. 예를 들어Integer
bigint
작동합니다. 이런 종류의 일부 사례는에 의해 직접 구현됩니다.“Cross-Type”롤 토토 연산자이지만, 그러한 연산자가 없으면, 파서는 저널 유형을 더 많은 일반 유형으로 강요하고 후자의 롤 토토 연산자를 적용합니다..
위와 같이, 모든 롤 토토 연산자는 유형의 값을 반환하는 이진 연산자입니다부울
. 따라서와 같은 표현1 <2 <3
유효하지 않습니다 (없기 때문에<
부울 값을 비교하는 연산자3
). 사용사이
범위 테스트를 수행하기 위해 아래에 표시된 예측.
에 표시된 것처럼 롤 토토 사전 환자도 있습니다.표 9.2. 이들은 연산자와 비슷하지만 SQL 표준에 의해 의무화 된 특별 구문이 있습니다.
표 9.2. 비교 사전
술어 설명 예제 |
---|
사이 (범위 끝점 포함).
|
|
사이, 두 종말점 값을 정렬 한 후.
|
두 엔드 포인트 값을 정렬 한 후 사이에 있지 않습니다.
|
동일하지 않아서 널을 비슷한 값으로 취급하십시오.
|
동일, 널을 비슷한 값으로 취급하십시오.
|
값이 null인지 테스트합니다.
|
값이 null이 아닌지 테스트합니다.
|
값이 null인지 테스트 (비표준 구문). |
값이 null이 아닌지 테스트 (비표준 구문). |
부울 표현이 진실을 생성하는지 테스트합니다.
|
부울 표현이 거짓인지 알 수 없는지 테스트합니다.
|
부울 표현이 거짓을 생성하는지 테스트합니다.
|
부울 표현이 참인지 알 수 없는지 테스트합니다.
|
부울 표현이 알 수 없는지 테스트합니다.
|
부울 표현식이 참인지 거짓인지 테스트.
|
a
사이x
및y
와 동일합니다
a
=x
및a
<=y
사이
범위에 포함 된 엔드 포인트 값을 처리합니다.대칭 사이의
사이
왼쪽에 대한 논쟁이 필요하지 않은 경우를 제외하고and
오른쪽에있는 인수보다 작거나 동일합니다. 그렇지 않은 경우,이 두 인수는 자동으로 교환되므로 비어 있지 않은 범위가 항상 암시됩니다.
다양한 변형사이
일반 롤 토토 연산자 측면에서 구현되므로 롤 토토할 수있는 모든 데이터 유형에 대해 작동합니다..
사용and
in사이
구문은 사용으로 모호성을 만듭니다.및
논리 연산자로서. 이것을 해결하기 위해, a의 제한된 표현식 유형 세트 만 허용됩니다.사이
절. 더 복잡한 하위 표현을 작성 해야하는 경우사이
, 하위 표현 주위에 괄호를 작성하십시오.
일반 비교 연산자 수율 null (Signifing“알 수없는”), 입력이 null 일 때 true 또는 false가 아닙니다. 예를 들어,7 = null
ricleds null 님과 마찬가지로7 < null
. 이 동작이 적합하지 않은 경우 사용하십시오.is [not] 별개의
Predicates :
a
B
a
B
널 비 널 입력의 경우|
<
운영자. 그러나 두 입력 모두 NULL이면 False를 반환하고 하나의 입력 만 NULL 인 경우 TRUE를 반환합니다. 비슷하게,동일합니다
=
nuln 널 입력의 경우, 두 입력이 모두 null 일 때 true를 반환하고 하나의 입력 만 null이면 False를 반환합니다. 따라서, 이들은 널이 Null이 정상적인 데이터 값인 것처럼 효과적으로 행동하는 것이“알 수없는”.
값이 무효인지 여부를 확인하려면 Predicates를 사용하십시오.
표현
is null표현
또는 등가이지만 비표준, 예정부 :
표현
isnull표현
NOTNULL
donot쓰기
왜냐하면표현
= nullNULL
“동일” NULL
. (NULL 값은 알려지지 않은 값을 나타내며, 두 개의 미지의 값이 동일한지 여부는 알려져 있지 않습니다.)
일부 응용 프로그램은
true를 반환하면표현
= null표현
NULL 값으로 평가합니다. 이러한 응용 프로그램은 SQL 표준을 준수하도록 수정하는 것이 좋습니다. 그러나 그 일을 할 수 없다면transform_null_equals구성 변수를 사용할 수 있습니다. 활성화 된 경우PostgreSQL전환x = null
클로즈 tox is null
.
표현
row 값입니다.is null
행 표정 자체가 무일하게 또는 모든 행의 필드가 무일하게 늘어날 때행 표정 자체가 널이없고 모든 행의 필드가 널이 아닌 경우에 맞습니다. 이 행동 때문에
is null
and행 값 표현식에 대한 역 결과를 항상 반환하지는 않습니다. 특히, NULL 및 NULL 필드를 모두 포함하는 행 값 표현식은 두 테스트 모두에 대해 False를 반환합니다. 예를 들어:
SELECT ROW (1,2.5, '테스트입니다') = Row (1, 3, '동일하지 않음'); SELECT ROW (표*)는 테이블에서 NULL입니다. -완전히 널 줄을 감지하십시오 Select Row (표*)는 테이블에서 NULL이 아닙니다. -모든 널 줄을 감지하십시오 테이블에서 not (행 (표*)이 null이 아님)을 선택하십시오. - 최소한 하나의 널 감지 행
경우에 따라 글을 쓰는 것이 바람직 할 수 있습니다Row
NULL과는 다릅니다
또는Row
null과는 다릅니다
, 이는 행 필드에서 추가 테스트없이 전체 행 값이 널인지 확인합니다.
부울 값도 Predicates를 사용하여 테스트 할 수 있습니다
boolean_expression
진실boolean_expression
사실이 아닙니다boolean_expression
거짓boolean_expression
거짓이 아니다boolean_expression
알 수 없음boolean_expression
알 수 없음
피연산자가 널이라도 항상 진실 또는 거짓을 반환합니다. 널 입력은 논리적 값으로 취급됩니다“알 수없는”. 주석알 수 없음
and알 수 없음
효과적으로is null
및33469_33544
일부 비교 관련 기능도 사용할 수 있습니다.표 9.3.
표 9.3. 비교 기능
문서에 맞지 않는 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면