이 주제에서는 ESQL 복합 비교 연산자(술어)에 대해 설명합니다. ESQL 단순 비교 연산자에 대한 정보는 ESQL 단순 비교 연산자를 참조하십시오.
(source >= boundary1 AND source <= boundary2) OR (source >= boundary2 AND source <= boundary1)
ASYMMETRIC 형식은 다음과 같습니다.
source >= boundary1 AND source <= boundary2
ASYMMETRIC 형식이 더 간단하지만 첫 번째 경계 값이 두 번째 경계보다 더 작은 값이면 예상 결과만을 리턴합니다. 그러므로 경계 조건 표현식이 리터럴인 경우에만 유용할 것입니다.
다른 유형인 경우에는 특수 규칙이 적용됩니다. 이에 대해서는 내재적 캐스트에서 설명합니다.
EXISTS(SELECT * FROM something WHERE predicate)
또한 IS를 사용하면 Boolean 값 TRUE 및 FALSE에 대해 테스트할 수 있고, 특수 값에 대한 10진수 값에 대해 테스트할 수도 있습니다. 이것은 대소문자가 혼합된 상태의 INF, +INF, -INF, NAN(숫자 아님) 및 NUM(유효한 숫자)으로 표시됩니다. 대안 형식인 +INFINITY, -INFINITY 및 NUMBER도 승인됩니다.
숫자가 아닌 유형에 적용되면 결과는 FALSE입니다.
패턴은 특별한 의미를 갖기 위해 퍼센트(%) 및 밑줄(_) 문자열로 지정됩니다.
Body.Trade.Company LIKE 'I__'
Body.Trade.Company LIKE 'I%'
검색할 표현식 내에서 퍼센트 및 밑줄을 사용하려면, 이 문자 앞에 디폴트로 백슬래시(\) 문자로 지정되는 이스케이프 문자가 와야 합니다.
예를 들어, 다음 술어는 일치하는 항목으로 IBM_Corp를 찾습니다.
Body.Trade.Company LIKE 'IBM\_Corp'
ESCAPE절을 사용하여 다른 이스케이프 문자를 지정할 수 있습니다. 예를 들어, 이전 예를 다음과 같이 지정할 수도 있습니다.
Body.Trade.Company LIKE 'IBM$_Corp' ESCAPE '$'