Este tópico descreve os operadores de comparação simples do ESQL. Para obter informações sobre os operadores de comparação complexa do ESQL, consulte Operadores de Comparação Complexa do ESQL.
O ESQL fornece um conjunto completo de operadores de comparação (predicados). Cada um deles compara dois valores escalares e retorna um Booleano. Se o operando for nulo, o resultado será nulo. Caso contrário, o resultado será verdadeiro se a condição for atendida e falso se ela não for atendida.
Os operadores de comparação podem ser aplicados a todos os tipos de dados escalares. Entretanto, se os dois operandos forem de tipos diferentes, regras especiais serão aplicadas. Eles são descritos na seção Casts Implícitos.
Alguns operadores de comparação também suportam a comparação de linhas e listas. Eles são indicados a seguir.
Esse operador também pode comparar linhas e listas. ConsulteComparações de ROW e LIST para obter uma descrição da lista e comparação de linhas.
Esse operador também pode comparar linhas e listas. ConsulteComparações de ROW e LIST para obter uma descrição da lista e comparação de linhas.
Para os tipos de cadeia (CHARACTER, BLOB, BIT), a comparação é lexicográfica. Iniciando na esquerda, os elementos individuais (cada caractere, byte ou bit) são comparados. Se nenhuma diferença for localizada, as cadeias serão iguais. Se uma diferença for localizada, os valores serão maiores se o primeiro elemento diferente no primeiro operando for maior que o elemento correspondente no segundo e menores se eles forem menores. No caso especial em que duas cadeias são de comprimentos diferentes, mas iguais até um certo ponto, a cadeia mais longa é considerada maior que a mais curta. Portanto:
'ABD' é maior que 'ABC' 'ABC' é maior que 'AB'
'ABC ' é igual a 'ABC'
Observe que comparar cadeias com um comprimento de um é equivalente a comparar caracteres, bytes ou bits individuais. Como o ESQL não possui tipos de dados de caracteres, bytes ou bits únicos, é uma prática padrão utilizar cadeias de comprimento um para comparar caracteres, bytes ou bits únicos.