Este tópico descreve operadores de comparação complexa do ESQL (predicados). Para obter informações sobre operadores de comparação simples do ESQL, consulte Operadores de Comparação Simples do ESQL.
(source >= boundary1 AND source <= boundary2) OR (source >= boundary2 AND source <= boundary1)
O formato ASYMMETRIC é equivalente a:
source >= boundary1 AND source <= boundary2
O formato ASYMMETRIC é mais simples, mas retorna apenas o resultado esperado quando o primeiro valor de limite tiver um valor menor do que o segundo valor de limite. Ele é útil apenas quando as expressões de condição de limite são literais.
Se os operandos possuem tipos diferentes, as regras especiais se aplicam. Eles são descritos na seção Casts Implícitos.
EXISTS(SELECT * FROM alguma coisa WHERE predicado)
O IS também permite testar os valores Booleanos TRUE e FALSE e testar valores decimais para valores especiais. Eles são indicados por INF, +INF, -INF, NAN (não um número) e NUM (um número válido) em qualquer mistura de maiúsculas e minúsculas. As formas alternativas +INFINITY, -INFINITY e NUMBER também são aceitas.
Se aplicado em tipos não-numéricos, o resultado será FALSE.
O padrão é especificado por uma cadeia na qual os caracteres porcentagem (%) e sublinhado (_) podem ser utilizados para ter significado especial:
Body.Trade.Company LIKE 'I__'
Body.Trade.Company LIKE 'I%'
Para utilizar os caracteres porcentagem e sublinhado nas expressões que devem ser correspondidas, preceda-os com um caractere ESCAPE, que assume como padrão o caractere barra invertida (\).
Por exemplo, o predicado a seguir localiza uma correspondência para IBM_Corp.
Body.Trade.Company LIKE 'IBM\_Corp'
Você pode especificar um caractere de escape diferente, utilizando a cláusula ESCAPE. Por exemplo, você também pode especificar o exemplo anterior da seguinte forma:
Body.Trade.Company LIKE 'IBM$_Corp' ESCAPE '$'