ESQL proporciona los operadores de comparación siguientes (predicados):
Este operador existe en dos formatos, SYMMETRIC y ASYMMETRIC (es el valor por omisión si no se especifica ninguno). El formato SYMMETRIC es equivalente a:
(source >= boundary1 AND source <= boundary2) OR (source >= boundary2 AND source <= boundary1)
El formato ASYMMETRIC es equivalente a:
source >= boundary1 AND source <= boundary2
El formato ASYMMETRIC es más sencillo pero sólo devuelve el resultado que se espera cuando el primer valor de límite tiene un valor más pequeño que el segundo límite. Sólo es útil cuando las expresiones de condición de límite son literales.
En todos los casos antedichos, si cualquiera de los operandos es NULL, el resultado es UNKNOWN. Si los operandos son de tipos diferentes, se aplican normas especiales. Éstos se describen en el apartado Transformaciones CAST implícitas.
Operador IN .-,----------. V | >>-operando_1--+-----+--IN--(----operando_2-+--)--------------->< '-NOT-'
El resultado es TRUE si el operando de la izquierda no es NULL y es igual a uno de los operandos de la derecha. El resultado es FALSE si el operando izquierdo no es NULL y no es igual a ninguno de los operandos de la derecha, ninguno de los cuales tiene valores NULL. De lo contrario, el resultado es UNKNOWN. Si los operandos son de tipos diferentes, se aplican normas especiales. Éstos se describen en el apartado Transformaciones CAST implícitas.
El resultado es TRUE si ninguno de los operandos es NULL y el operando de origen (operando_1) coincide con el operando de patrón. El resultado es FALSE si ninguno de los operandos es NULL y el operando de origen no coincide con el operando de patrón. De lo contrario, el resultado es UNKNOWN.
El patrón se especifica con una serie en que los caracteres de porcentaje (%) y subrayado (_) tienen un significado especial:
Body.Trade.Company LIKE 'I__'
Body.Trade.Company LIKE 'I%'
Para utilizar los caracteres de porcentaje y subrayado en las expresiones que han de coincidir, preceda los caracteres con un carácter ESCAPE, que toma por omisión el carácter de barra inclinada invertida (\).
Por ejemplo, el predicado siguiente encuentra una coincidencia para IBM_Corp.
Body.Trade.Company LIKE 'IBM\_Corp'
Puede especificar un carácter de escape diferente mediante la cláusula ESCAPE. Por ejemplo, también podría especificar el ejemplo anterior de la manera siguiente:
Body.Trade.Company LIKE 'IBM$_Corp' ESCAPE '$'
Incluye los valores de prueba INF, +INF, -INF, NAN (no es un número) y NUM en cualquier combinación de mayúsculas y minúsculas. También se aceptan los formatos alternativos +INFINITY, -INFINITY y NUMBER.
Si se aplica a tipos no numéricos, el resultado es FALSE.
El operador de comparación (=) no lo permite porque el resultado de comparar con NULL es NULL. También permite utilizar una sintaxis más natural al probar valores booleanos.
El resultado es TRUE si el valor del operando de la izquierda es igual (o no igual si está la cláusula NOT) al valor especificado (TRUE, FALSE, UNKNOWN o NULL). De lo contrario, el resultado es FALSE.
EXISTS(SELECT * FROM algo WHERE predicado)
Conceptos relacionados
Flujos de mensajes
Correlaciones
Tareas relacionadas
Desarrollo de aplicaciones de flujos de mensajes
Desarrollo de ESQL
Referencia relacionada
Nodos incorporados
ESQL
Comparaciones de ROW y LIST
Transformaciones CAST implícitas
Avisos |
Marcas registradas |
Descargas |
Biblioteca |
Soporte |
Información de retorno (feedback)
![]() ![]() |
ak01040_ |