9.2. 비교 기능 및 운영자#

일반적인 토토 연산자는 다음과 같이 사용할 수 있습니다.표 9.1.

표 9.1. 비교 연산자

운영자 설명
Datatype < DataType부울 보다 작음
DataType DataType부울 보다 큰
Datatype <= DataType부울 이하
Datatype = DataType부울 더 크거나
DataType = DataType부울 Equal
DataType < DataType부울 동일하지 않음
DataType ! = DataType부울 동일하지 않음

note

<표준 SQL 표기법입니다동일하지 않음. ! =|<매우 초기 구문 분석. 따라서 구현할 수 없습니다! =and<다른 일을하는 연산자.

이 토토 연산자는 숫자, 문자열 및 날짜/시간 유형을 포함하여 자연 순서가있는 모든 내장 데이터 유형에 사용할 수 있습니다. 또한 구성 요소 데이터 유형이 토토할 경우 배열, 복합 유형 및 범위를 토토할 수 있습니다.

일반적으로 관련 데이터 유형의 값도 토토할 수 있습니다. 예를 들어Integer bigint작동합니다. 이런 종류의 일부 사례는에 의해 직접 구현됩니다.Cross-Type토토 연산자이지만, 그러한 연산자가 없으면, 파서는 저널 유형을 일반 유형으로 강요하고 후자의 토토 연산자를 적용합니다..

위와 같이, 모든 토토 연산자는 유형의 값을 반환하는 이진 연산자입니다부울. 따라서와 같은 표현1 <2 <3유효하지 않습니다 (없기 때문에<부울 값과를 비교하는 연산자3). 사용사이범위 테스트를 수행하기 위해 아래에 표시된 예측.

에 표시된대로 토토 예측이 있습니다.표 9.2. 이들은 연산자와 비슷하지만 SQL 표준에 의해 의무화 된 특별 구문이 있습니다.

표 9.2. 비교 사전

술어

설명

예제

DataType 사이 DataType and Datatype부울

사이 (범위 끝점 포함).

2 사이의 1과 3t

2 사이에서 1f

DataType DataType and DataType부울

사이).

2 1과 3 사이의 아님F

Datatype 대칭 사이 DataType and DataType부울

사이, 두 엔드 포인트 값을 정렬 한 후.

2 대칭 3과 1 사이의 2t

DataType 대칭 사이에 있지 않음 DataType and DataType부울

두 엔드 포인트 값을 정렬 한 후 사이에 있지 않습니다.

2 대칭 3과 1 사이에 있지 않음F

Datatype | DataType부울

동일하지 않아서 널을 비슷한 값으로 취급하십시오.

1은 토토과 구별됩니다t(대신토토)

토토은 토토과 구별됩니다F(토토)

DataType | DataType부울

동일, 널을 비슷한 값으로 취급하십시오.

1은 토토과 구별되지 않습니다f(토토)

토토은 토토과 구별되지 않습니다t(토토)

DataType is 토토부울

값이 토토인지 테스트합니다.

1.5 is 토토f

DataType 부울

값이 토토이 아닌지 테스트합니다.

'토토'은 토토이 아닙니다t

DataType is토토부울

값이 토토인지 테스트 (비표준 구문).

DataType NOT토토부울

값이 토토이 아닌지 테스트 (비표준 구문).

부울 진실부울

부울 표현이 사실인지 테스트합니다.

True is truet

토토 :: 부울 is trueF(대신토토)

부울 사실이 아닙니다부울

부울 표현이 거짓인지 알 수 없는지 테스트합니다.

True는 사실이 아닙니다f

토토 :: 부울은 사실이 아닙니다t(토토)

부울 거짓부울

부울 표현이 거짓을 생성하는지 테스트합니다.

true is falsef

토토 :: 부울은 거짓f(가 아니라토토)

부울 거짓이 아니다부울

부울 표현이 참인지 알 수 없는지 테스트합니다.

true는 거짓이 아닙니다t

토토 :: 부울은 거짓이 아닙니다T(가 아니라토토)

부울 알 수 없음부울

부울 표현이 알 수 없는지 테스트합니다.

True is UnknownF

Null :: Boolean Is 알 수 없음T(대신토토)

부울 알 수 없음부울

부울 표현식이 참인지 거짓인지 테스트합니다.

True는 알 수 없습니다T

Null :: 부울은 알 수 없음F(가 아니라토토)


the사이술어 테스트를 단순화합니다 :

a사이xy

a =xa<=y

사이범위에 포함 된 엔드 포인트 값을 처리합니다.대칭 사이의사이왼쪽 왼쪽에 대한 주장이 필요하지 않은 경우를 제외하고and오른쪽에있는 인수보다 작거나 동일합니다. 그렇지 않은 경우,이 두 인수는 자동으로 교환되므로 비어 있지 않은 범위가 항상 암시됩니다.

의 다양한 변형사이일반 토토 연산자 측면에서 구현되므로 토토할 수있는 모든 데이터 유형에 대해 작동합니다.

note

사용andin사이Syntax는 사용으로 모호성을 만듭니다.and논리 연산자로서. 이것을 해결하기 위해, a의 제한된 표현식 유형 세트 만 허용됩니다.사이절. 더 복잡한 하위 표현을 작성 해야하는 경우사이, 하위 표현 주위에 괄호를 작성하십시오.

일반 비교 연산자 수율 토토 (Signifing알 수없는), 입력이 토토 일 때 true 또는 false가 아닙니다. 예를 들어,7 = 토토ricleds 토토 님과 마찬가지로7 < 토토. 이 동작이 적합하지 않은 경우 사용하십시오.is [not] 별개의Predicates :

aB
a|B

널 비 널 입력의 경우|<운영자. 그러나 두 입력 모두 토토이면 False를 반환하고 하나의 입력 만 토토 인 경우 TRUE를 반환합니다. 비슷하게,동일합니다=nuln 널 입력의 경우, 두 입력이 모두 토토 일 때 true를 반환하고 하나의 입력 만 토토이면 False를 반환합니다. 따라서, 이들은 널이 Null이 정상적인 데이터 값인 것처럼 효과적으로 행동하는 것이알 수없는.

값이 무효인지 여부를 확인하려면 Predicates를 사용하십시오.

표현is 토토표현

또는 등가이지만 비표준, 사전

표현IS토토표현NOT토토

donot쓰기표현= 토토왜냐하면토토동일 토토. (토토 값은 알려지지 않은 값을 나타내며, 두 개의 미지의 값이 동일한지 여부는 알려져 있지 않습니다.)

일부 응용 프로그램은표현= 토토true를 반환하면표현토토 값으로 평가합니다. 이러한 응용 프로그램은 SQL 표준을 준수하도록 수정하는 것이 좋습니다. 그러나 그 일을 할 수 없다면transform_토토_equals구성 변수를 사용할 수 있습니다. 활성화 된 경우PostgreSQL전환x = 토토클로즈 tox is 토토.

표현row valued,is 토토행 표정 자체가 무일하게 또는 모든 행 필드가 무일하게 늘어날 때행 표정 자체가 널이없고 모든 행의 필드가 널이 아닌 경우에 맞습니다. 이 행동 때문에is 토토and행 값 표현식에 대한 역 결과를 항상 반환하지는 않습니다. 특히, 토토 및 토토 필드를 모두 포함하는 행 값 표현식은 두 테스트 모두에 대해 False를 반환합니다. 예를 들어:

SELECT ROW (1,2.5, '테스트입니다') = Row (1, 3, '동일하지 않음');

SELECT ROW (표*)는 테이블에서 토토입니다.  -완전히 널 줄을 감지하십시오

Select Row (표*)는 테이블에서 토토이 아닙니다.  -모든 널 줄을 감지하십시오

테이블에서 not (행 (표*)이 토토이 아님)을 선택하십시오. - 최소한 하나의 널 감지 행

경우에 따라 글을 쓰는 것이 바람직 할 수 있습니다Row 토토과는 다릅니다또는row 토토과는 다릅니다, 이는 행 필드에서 추가 테스트없이 전체 행 값이 널인지 확인합니다.

Boolean 값도 Predicates를 사용하여 테스트 할 수 있습니다

boolean_expression진실boolean_expression사실이 아닙니다boolean_expression거짓boolean_expression거짓이 아니다boolean_expression알 수 없음boolean_expression알 수 없음

피연산자가 무효 일 때에도 항상 참 또는 거짓을 반환합니다. 널 입력은 논리적 값으로 취급됩니다알 수없는. 주석알 수 없음알 수 없음효과적으로is 토토and33601_33676

일부 비교 관련 기능도 사용할 수 있습니다.표 9.3.

표 9.3. 비교 기능

기능

설명

예제

num_non토토s(variadic "Any") →정수

널이 아닌 인수의 수를 반환합니다.

num_non토토s (1, 토토, 2)2

num_토토s(variadic "Any") →정수

널 인수 번호를 반환합니다.

num_토토s (1, 토토, 2)1


정정 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면