Funções de comparação

Funções de comparação são usadas para comparar valores de campo uns com os outros ou com uma sequência de caracteres especificada.

Por exemplo, é possível verificar a igualdade das sequências de caracteres usando =. Um exemplo de verificação da igualdade da sequência de caracteres é: Class = "class 1".

Para propósitos de comparação numérica, maior significa mais próximo do infinito positivo e menor significa mais próximo do infinito negativo. Ou seja, todos os números negativos são menores que qualquer número positivo.

Tabela 1. Funções de comparação CLEM
Função Resultado Descrição
count_equal(ITEM1, LIST) Número inteiro Retorna o número de valores de uma lista de campos que são iguais a ITEM1 ou nulos se ITEM1 for nulo.
count_greater_than(ITEM1, LIST) Número inteiro Retorna o número de valores de uma lista de campos que são maiores que ITEM1 ou nulos se ITEM1 for nulo.
count_less_than(ITEM1, LIST) Número inteiro Retorna o número de valores de uma lista de campos que são menores que ITEM1 ou nulos se ITEM1 for nulo.
count_not_equal(ITEM1, LIST) Número inteiro Retorna o número de valores de uma lista de campos que não são iguais a ITEM1 ou nulos se ITEM1 for nulo.
count_nulls(LIST) Número inteiro Retorna o número de valores nulos de uma lista de campos.
count_non_nulls(LIST) Número inteiro Retorna o número de valores não nulos de uma lista de campos.
date_before(DATE1, DATE2) Booleano Usado para verificar a ordem dos valores de data. Retorna um valor real se DATE1 for anterior a DATE2.
first_index(ITEM, LIST) Número inteiro Retorna o índice do primeiro campo contendo ITEM de uma LISTA de campos ou 0 se o valor não for localizado. Suportado somente para os tipos sequência de caracteres, número inteiro e real.
first_non_null(LIST) qualquer um Retorna o primeiro valor não nulo na lista de campos fornecida. Todos os tipos de armazenamento são suportados.
first_non_null_index(LIST) Número inteiro Retorna o índice do primeiro campo no LIST especificado contendo um valor não nulo ou 0 se todos os valores forem nulos. Todos os tipos de armazenamento são suportados.
ITEM1 = ITEM2 Booleano Retorna true para registros nos quais ITEM1 é igual a ITEM2.
ITEM1 /= ITEM2 Booleano Retorna true se as duas strings não são idênticas ou 0 se são idênticas.
ITEM1 < ITEM2 Booleano Retorna true para registros nos quais ITEM1 é menor que ITEM2.
ITEM1 <= ITEM2 Booleano Retorna true para registros nos quais ITEM1 é menor que ou igual a ITEM2.
ITEM1 > ITEM2 Booleano Retorna true para registros nos quais ITEM1 é maior que ITEM2.
ITEM1 >= ITEM2 Booleano Retorna true para registros nos quais ITEM1 é maior que ou igual a ITEM2.
last_index(ITEM, LIST) Número inteiro Retorna o índice do último campo contendo ITEM de uma LISTA de campos ou 0 se o valor não for localizado. Suportado somente para os tipos sequência de caracteres, número inteiro e real.
last_non_null(LIST) qualquer um Retorna o último valor não nulo na lista de campos fornecida. Todos os tipos de armazenamento são suportados.
last_non_null_index(LIST) Número inteiro Retorna o índice do último campo no LIST especificado contendo um valor não nulo ou 0 se todos os valores forem nulos. Todos os tipos de armazenamento são suportados.
max(ITEM1, ITEM2) qualquer um Retorna o maior dos dois itens: ITEM1 or ITEM2.
max_index(LIST) Número inteiro Retorna o índice do campo contendo o valor máximo de uma lista de campos numéricos ou 0 se todos os valores forem nulos. Por exemplo, se o terceiro campo listado contiver o máximo, o valor de índice 3 será retornado. Se vários campos contiverem o valor máximo, o listado primeiro (primeiro da esquerda) será retornado.
max_n(LIST) Número Retorna o valor máximo de uma lista de campos numéricos ou nulo se todos os valores de campo forem nulos.
member(ITEM, LIST) Booleano Retorna true se ITEM for membro de um LIST especificado. Caso contrário, retorna false. Uma lista de nomes de campo também pode ser especificada.
min(ITEM1, ITEM2) qualquer um Retorna o menor dos dois itens: ITEM1 ou ITEM2.
min_index(LIST) Número inteiro Retorna o índice do campo contendo o valor mínimo de uma lista de campos numéricos ou 0 se todos os valores forem nulos. Por exemplo, se o terceiro campo listado contiver o mínimo, o valor de índice 3 será retornado. Se vários campos contiverem o valor mínimo, o listado primeiro (primeiro da esquerda) será retornado.
min_n(LIST) Número Retorna o valor mínimo de uma lista de campos numéricos ou nulo se todos os valores de campo forem nulos.
time_before(TIME1, TIME2) Booleano Usado para verificar a ordem dos valores de hora. Retorna um valor real se TIME1 for anterior a TIME2.
value_at(INT, LIST)   Retorna o valor de cada campo listado no offset INT ou NULL, caso o offset esteja fora do intervalo de valores válidos (ou seja, menor que 1 ou maior que o número de campos listados). Todos os tipos de armazenamento são suportados.