ESQL 복합 비교 연산자

이 주제에서는 ESQL 복합 비교 연산자(술어)에 대해 설명합니다. ESQL 단순 비교 연산자에 대한 정보는 ESQL 단순 비교 연산자를 참조하십시오.

BETWEEN 연산자
연산자 BETWEEN을 사용하여 값이 두 경계 값 사이에 있는지 테스트할 수 있습니다.

이 연산자는 두 가지 형식(SYMMETRIC 및 ASYMMETRIC)으로 존재합니다(어느 것도 지정되지 않은 경우 디폴트임). SYMMETRIC 형식은 다음과 같습니다.

(source >= boundary1 AND source <= boundary2) OR
(source >= boundary2 AND source <= boundary1)

ASYMMETRIC 형식은 다음과 같습니다.

source >= boundary1 AND source <= boundary2

ASYMMETRIC 형식이 더 간단하지만 첫 번째 경계 값이 두 번째 경계보다 더 작은 값이면 예상 결과만을 리턴합니다. 그러므로 경계 조건 표현식이 리터럴인 경우에만 유용할 것입니다.

다른 유형인 경우에는 특수 규칙이 적용됩니다. 이에 대해서는 내재적 캐스트에서 설명합니다.

EXISTS 연산자
연산자 EXISTS는 SELECT 함수가 하나 이상의 값을 리턴했는지(TRUE) 또는 아무 값도 리턴하지 않았는지(FALSE) 여부를 나타내는 Boolean 값을 리턴합니다.
EXISTS(SELECT * FROM something WHERE predicate)
IN 연산자
연산자 IN을 사용하여 값이 값 목록의 값 중 하나와 같은지 테스트할 수 있습니다.

왼쪽 피연산자가 NULL이 아니고 오른쪽 피연산자 중 하나와 같으면 결과는 TRUE입니다. 왼쪽 피연산자가 NULL이 아니고 어느 것도 NULL 값을 갖지 않는 오른쪽 피연산자 중 하나와 같지 않으면, 결과는 FALSE입니다. 그렇지 않으면, 결과는 UNKNOWN입니다. 다른 유형인 경우에는 특수 규칙이 적용됩니다. 이에 대해서는 내재적 캐스트에서 설명합니다.

IS 연산자
연산자 IS를 사용하면 표현식이 특수 값을 리턴했는지 여부를 테스트할 수 있습니다.

연산자 IS의 주요 목적은 값이 널(null)인지 여부를 테스트하는 것입니다. 널(null)과 비교한 결과가 널(null)이므로 비교 연산자(=)는 이를 허용하지 않습니다.

또한 IS를 사용하면 Boolean 값 TRUE 및 FALSE에 대해 테스트할 수 있고, 특수 값에 대한 10진수 값에 대해 테스트할 수도 있습니다. 이것은 대소문자가 혼합된 상태의 INF, +INF, -INF, NAN(숫자 아님) 및 NUM(유효한 숫자)으로 표시됩니다. 대안 형식인 +INFINITY, -INFINITY 및 NUMBER도 승인됩니다.

숫자가 아닌 유형에 적용되면 결과는 FALSE입니다.

LIKE 연산자
연산자 LIKE는 특정 패턴을 일치하는 문자열을 검색합니다.

모든 피연산자는 널(null)이 아니며 소스 피연산자가 패턴 피연산자와 일치하는 경우 결과는 TRUE입니다. 모든 피연산자가 널(null)이 아니고 소스 피연산자가 패턴 피연산자와 일치하지 않은 경우 결과는 FALSE입니다. 그렇지 않으면, 결과는 UNKNOWN입니다.

패턴은 특별한 의미를 갖기 위해 퍼센트(%) 및 밑줄(_) 문자열로 지정됩니다.

  • 밑줄 문자 _는 단일 문자를 나타냅니다.
    예를 들면, 다음은 일치하는 항목으로 International Business Machines 또는 IBM Corp가 아닌 IBM 및 IGI를 찾습니다.
    Body.Trade.Company LIKE 'I__'
  • 퍼센트 문자 %는 0개 이상의 문자열이 일치합니다.
    예를 들면, 다음은 일치하는 항목으로 IBM, IGI, International Business Machines 및 IBM Corp를 찾습니다.
    Body.Trade.Company LIKE 'I%'

검색할 표현식 내에서 퍼센트 및 밑줄을 사용하려면, 이 문자 앞에 디폴트로 백슬래시(\) 문자로 지정되는 이스케이프 문자가 와야 합니다.

예를 들면, 다음 술어는 일치하는 항목으로 IBM_Corp를 찾습니다.

Body.Trade.Company LIKE 'IBM\_Corp'

ESCAPE절을 사용하여 다른 이스케이프 문자를 지정할 수 있습니다. 예를 들면, 이전 예를 다음과 같이 지정할 수도 있습니다.

Body.Trade.Company LIKE 'IBM$_Corp' ESCAPE '$'
연산자 SINGULAR
연산자 SINGULAR는 목록에 정확히 하나의 요소가 있는 경우 Boolean 값 TRUE를 리턴하고 그렇지 않은 경우에는 FALSE를 리턴합니다.
관련 개념
메시지 플로우 개요
메시지 맵핑 개요
관련 태스크
메시지 플로우 개발
ESQL 개발
관련 참조
ESQL 단순 비교 연산자
내장 노드
ESQL 참조
ROW 및 LIST 비교
내재적 캐스트
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ak01045_