En este tema se describen los operadores simples de comparación de ESQL. Para obtener información sobre los operadores complejos de comparación ESQL, consulte Operadores complejos de comparación ESQL.
ESQL proporciona un conjunto completo de operadores de comparación (predicados). Cada uno de ellos compara dos valores escalares y devuelve un valor booleano. Si uno de los operandos es Null, el resultado es Null. De lo contrario, el resultado es verdadero (true) si se satisface la condición y falsa (false) si no se satisface.
Pueden aplicarse operadores de comparación a todos los tipos de datos escalares. Sin embargo, si los dos operandos son de tipos diferentes, se aplican normas especiales. Estas normas se describen en Transformaciones CAST implícitas.
Algunos operadores de comparación también soportan la comparación de filas y listas. Éstos se indican más abajo.
Este operador también puede comparar filas y listas. Consulte ROW y LIST comparados para obtener una descripción de la comparación entre lista y fila.
Este operador también puede comparar filas y listas. Consulte ROW y LIST comparados para obtener una descripción de la comparación entre lista y fila.
Para los tipos de serie de caracteres (CHARACTER, BLOB, BIT) la comparación es lexicográfica. Empezando por la izquierda, se comparan los elementos individuales (cada carácter, byte o bit). Si no se encuentra ninguna diferencia, las series de caracteres son iguales. Si se encuentra una diferencia, los valores son mayores si el primer elemento distinto del primer operando es mayor que el elemento correspondiente del segundo, y menores si es menor. En el caso especial en el que dos series de caracteres no tienen la misma longitud pero son iguales en los demás elementos, la serie de caracteres más larga se considera mayor que la más corta. Así:
'ABD' es mayor que 'ABC' 'ABC' es mayor que 'AB'
'ABC ' es igual que 'ABC'
Tenga en cuenta que comparar cadenas de caracteres de longitud uno es equivalente a comparar caracteres, bytes o bits individuales. Puesto que ESQL no tiene tipos de datos de un solo carácter, byte o bit, es una práctica común utilizar series de longitud uno para comparar un solo carácter, byte o bit.