Regras de comparação
As funções de comparação abaixo retornam 0 ou 1 com o tipo UInt8. Somente valores dentro do mesmo grupo podem ser
comparados (por exemplo, UInt16 e UInt64), mas não valores de grupos diferentes (por exemplo, UInt16 e DateTime).
É possível comparar números e strings, assim como strings com datas e datas com horas.
Para tuplas e arrays, a comparação é lexicográfica, o que significa que ela é feita para cada
elemento correspondente da tupla/array do lado esquerdo e do lado direito.
Os tipos a seguir podem ser comparados:
- números e decimais
- strings e strings de tamanho fixo
- datas
- datas com horas
- tuplas (comparação lexicográfica)
- arrays (comparação lexicográfica)
equals
Introduzido em: v1.1.0
Compara dois valores para verificar se são iguais.
Sintaxe
equals(a, b)
-- a = b
-- a == bArgumentos
Valor retornado
Retorna 1 se a for igual a b; caso contrário, 0 UInt8
Exemplos
Exemplo de uso
SELECT 1 = 1, 1 = 2;┌─equals(1, 1)─┬─equals(1, 2)─┐
│ 1 │ 0 │
└──────────────┴──────────────┘globalIn
Introduzido em: v1.1.0
Igual a in, mas usa a distribuição global do conjunto em consultas distribuídas. O conjunto é enviado a todos os servidores remotos.
Sintaxe
globalIn(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x estiver no conjunto; caso contrário, 0. UInt8
Exemplos
Uso básico
SELECT 1 IN (1, 2, 3)1globalInIgnoreSet
Introduzido em: v1.1.0
Igual a in, mas usa a distribuição global do conjunto em consultas distribuídas. O conjunto é enviado a todos os servidores remotos.
Esta é a variante IgnoreSet usada para análise de tipos sem criar o conjunto.
Sintaxe
globalIn(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x estiver no conjunto; caso contrário, 0. UInt8
Exemplos
Uso básico
SELECT 1 IN (1, 2, 3)1globalNotIn
Introduzido em: v1.1.0
Igual a notIn, mas usa a distribuição global do conjunto em consultas distribuídas. O conjunto é enviado a todos os servidores remotos.
Sintaxe
globalNotIn(x, set)Argumentos
x— Valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x não estiver no conjunto e 0 caso contrário. UInt8
Exemplos
Uso básico
SELECT 4 NOT IN (1, 2, 3)1globalNotInIgnoreSet
Introduzido em: v1.1.0
Igual a notIn, mas usa a distribuição global do conjunto em consultas distribuídas. O conjunto é enviado a todos os servidores remotos.
Esta é a variante IgnoreSet usada para análise de tipos sem criar o conjunto.
Sintaxe
globalNotIn(x, set)Argumentos
x— Valor a ser verificado. -set— Conjunto de valores.
Valor retornado
Retorna 1 se x não estiver no conjunto; caso contrário, 0. UInt8
Exemplos
Uso básico
SELECT 4 NOT IN (1, 2, 3)1globalNotNullIn
Introduzido em: v1.1.0
Igual a notNullIn, mas usa a distribuição global do conjunto em consultas distribuídas. O conjunto é enviado a todos os servidores remotos.
Sintaxe
globalNotNullIn(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x não estiver no conjunto, 0 caso contrário. UInt8
Exemplos
Uso básico
SELECT notNullIn(NULL, tuple(1, NULL))1globalNotNullInIgnoreSet
Introduzido em: v1.1.0
Igual a notNullIn, mas usa a distribuição global do conjunto em consultas distribuídas. O conjunto é enviado a todos os servidores remotos.
Esta é a variante IgnoreSet usada para análise de tipos sem criar o conjunto.
Sintaxe
globalNotNullIn(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x não estiver no conjunto; caso contrário, retorna 0. UInt8
Exemplos
Uso básico
SELECT notNullIn(NULL, tuple(1, NULL))1globalNullIn
Introduzido em: v1.1.0
Igual a nullIn, mas usa a distribuição global do conjunto em consultas distribuídas. O conjunto é enviado a todos os servidores remotos.
Sintaxe
globalNullIn(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x estiver no conjunto; caso contrário, 0. UInt8
Exemplos
Uso básico
SELECT nullIn(NULL, tuple(1, NULL))0globalNullInIgnoreSet
Introduzido em: v1.1.0
Igual a nullIn, mas usa a distribuição global do conjunto em consultas distribuídas. O conjunto é enviado a todos os servidores remotos.
Esta é a variante IgnoreSet usada para análise de tipos sem criar o conjunto.
Sintaxe
globalNullIn(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x estiver no conjunto; caso contrário, 0. UInt8
Exemplos
Uso básico
SELECT nullIn(NULL, tuple(1, NULL))0greater
Introduzido em: v1.1.0
Compara dois valores para determinar se um é maior que o outro.
Sintaxe
greater(a, b)
-- a > bArgumentos
Valor retornado
Retorna 1 se a for maior que b; caso contrário, 0 UInt8
Exemplos
Exemplo de uso
SELECT 2 > 1, 1 > 2;┌─greater(2, 1)─┬─greater(1, 2)─┐
│ 1 │ 0 │
└───────────────┴───────────────┘greaterOrEquals
Introduzido em: v1.1.0
Compara dois valores para verificar se um é maior ou igual ao outro.
Sintaxe
greaterOrEquals(a, b)
-- a >= bArgumentos
Valor retornado
Retorna 1 se a for maior ou igual a b; caso contrário, 0 UInt8
Exemplos
Exemplo de uso
SELECT 2 >= 1, 2 >= 2, 1 >= 2;┌─greaterOrEquals(2, 1)─┬─greaterOrEquals(2, 2)─┬─greaterOrEquals(1, 2)─┐
│ 1 │ 1 │ 0 │
└───────────────────────┴───────────────────────┴───────────────────────┘in
Introduzido em: v1.1.0
Verifica se o operando à esquerda pertence ao conjunto do operando à direita. Retorna 1 se pertencer; caso contrário, 0. Valores NULL no operando à esquerda são ignorados (tratados como não pertencentes ao conjunto).
Sintaxe
in(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x estiver no conjunto, 0 caso contrário. UInt8
Exemplos
Uso básico
SELECT 1 IN (1, 2, 3)1inIgnoreSet
Introduzido em: v1.1.0
Verifica se o operando à esquerda pertence ao conjunto do operando à direita. Retorna 1 se pertencer; caso contrário, 0. Valores NULL no operando à esquerda são ignorados (tratados como não pertencentes ao conjunto). Esta é a variante IgnoreSet usada para análise de tipos sem criar o conjunto.
Sintaxe
in(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x estiver no conjunto; caso contrário, 0. UInt8
Exemplos
Uso básico
SELECT 1 IN (1, 2, 3)1isDistinctFrom
Introduzido em: v25.11.0
Executa uma comparação de "diferente de" com tratamento seguro de NULL entre dois valores.
Retorna true se os valores forem distintos (não iguais), inclusive quando um valor for NULL e o outro não.
Retorna false se os valores forem iguais ou se ambos forem NULL.
Sintaxe
isDistinctFrom(x, y)Argumentos
x— Primeiro valor a ser comparado. Pode ser qualquer tipo de dado do ClickHouse.Anyy— Segundo valor a ser comparado. Pode ser qualquer tipo de dado do ClickHouse.Any
Valor retornado
Retorna true se os dois valores forem diferentes, tratando NULLs como comparáveis:
- Retorna
truese x != y.- Retorna
truese exatamente um de x ou y for NULL. - Retorna
falsese x = y ou se x e y forem ambos NULL.Bool
- Retorna
Exemplos
Uso básico com números e NULLs
SELECT
isDistinctFrom(1, 2) AS result_1,
isDistinctFrom(1, 1) AS result_2,
isDistinctFrom(NULL, 1) AS result_3,
isDistinctFrom(NULL, NULL) AS result_4┌─result_1─┬─result_2─┬─result_3─┬─result_4─┐
│ 1 │ 0 │ 1 │ 0 │
└──────────┴──────────┴──────────┴──────────┘isNotDistinctFrom
Introduzido em: v23.8.0
Realiza uma comparação de "igualdade" com tratamento seguro de NULL entre dois valores.
Retorna true se os valores forem iguais, inclusive quando ambos forem NULL.
Retorna false se os valores forem diferentes ou se exatamente um deles for NULL.
Sintaxe
isNotDistinctFrom(x, y)Argumentos
x— Primeiro valor a ser comparado. Pode ser qualquer tipo de dado do ClickHouse.Anyy— Segundo valor a ser comparado. Pode ser qualquer tipo de dado do ClickHouse.Any
Valor retornado
Retorna true se os dois valores forem iguais, tratando NULLs como comparáveis:
- Retorna
truese x = y.- Retorna
truese x e y forem NULL. - Retorna
falsese x != y ou se exatamente um entre x e y for NULL.Bool
- Retorna
Exemplos
Uso básico com números e NULLs
SELECT
isNotDistinctFrom(1, 1) AS result_1,
isNotDistinctFrom(1, 2) AS result_2,
isNotDistinctFrom(NULL, NULL) AS result_3,
isNotDistinctFrom(NULL, 1) AS result_4┌─result_1─┬─result_2─┬─result_3─┬─result_4─┐
│ 1 │ 0 │ 1 │ 0 │
└──────────┴──────────┴──────────┴──────────┘less
Introduzido em: v1.1.0
Compara dois valores para verificar se um é menor que o outro.
Sintaxe
less(a, b)
-- a < bArgumentos
Valor retornado
Retorna 1 se a for menor que b; caso contrário, 0 UInt8
Exemplos
Exemplo de uso
SELECT 1 < 2, 2 < 1;┌─less(1, 2)─┬─less(2, 1)─┐
│ 1 │ 0 │
└────────────┴────────────┘lessOrEquals
Introduzido em: v1.1.0
Compara dois valores para verificar se um é menor ou igual ao outro.
Sintaxe
lessOrEquals(a, b)
-- a <= bArgumentos
Valor retornado
Retorna 1 se a for menor ou igual a b; caso contrário, 0 UInt8
Exemplos
Exemplo de uso
SELECT 1 <= 2, 2 <= 2, 3 <= 2;┌─lessOrEquals(1, 2)─┬─lessOrEquals(2, 2)─┬─lessOrEquals(3, 2)─┐
│ 1 │ 1 │ 0 │
└────────────────────┴────────────────────┴────────────────────┘notEquals
Introduzido em: v1.1.0
Compara dois valores para verificar se são diferentes.
Sintaxe
notEquals(a, b)
-- a != b
-- a <> bArgumentos
Valor retornado
Retorna 1 se a for diferente de b; caso contrário, 0. UInt8
Exemplos
Exemplo de uso
SELECT 1 != 2, 1 != 1;┌─notEquals(1, 2)─┬─notEquals(1, 1)─┐
│ 1 │ 0 │
└─────────────────┴─────────────────┘notIn
Introduzido na versão: v1.1.0
Verifica se o operando à esquerda NÃO pertence ao conjunto do operando à direita. Retorna 1 se não pertencer ao conjunto; caso contrário, retorna 0. Valores NULL no operando à esquerda são ignorados.
Sintaxe
notIn(x, set)Argumentos
x— Valor a ser verificado. -set— Conjunto de valores.
Valor retornado
Retorna 1 se x não estiver no conjunto, 0 caso contrário. UInt8
Exemplos
Uso básico
SELECT 4 NOT IN (1, 2, 3)1notInIgnoreSet
Introduzido em: v1.1.0
Verifica se o operando esquerdo NÃO pertence ao conjunto do operando direito. Retorna 1 se não estiver no conjunto; caso contrário, retorna 0. Valores NULL no operando esquerdo são desconsiderados. Esta é a variante IgnoreSet usada para análise de tipos sem criar o conjunto.
Sintaxe
notIn(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x não estiver no conjunto; caso contrário, 0. UInt8
Exemplos
Uso básico
SELECT 4 NOT IN (1, 2, 3)1notNullIn
Introduzido em: v1.1.0
Verifica se o operando à esquerda NÃO pertence ao conjunto do operando à direita. Diferentemente de notIn, os valores NULL não são ignorados: NULL é comparado com os elementos do conjunto, e NULL = NULL resulta em true.
Sintaxe
notNullIn(x, set)Argumentos
x— O valor a verificar. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x não estiver no conjunto, 0 caso contrário. UInt8
Exemplos
Uso básico
SELECT notNullIn(NULL, tuple(1, NULL))1notNullInIgnoreSet
Introduzido em: v1.1.0
Verifica se o operando à esquerda NÃO pertence ao conjunto do operando à direita. Diferentemente de notIn, os valores NULL não são ignorados: NULL é comparado com os elementos do conjunto, e NULL = NULL resulta em true.
Esta é a variante IgnoreSet usada para análise de tipos sem criar o conjunto.
Sintaxe
notNullIn(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x não estiver no conjunto; caso contrário, 0. UInt8
Exemplos
Uso básico
SELECT notNullIn(NULL, tuple(1, NULL))1nullIn
Introduzido em: v1.1.0
Verifica se o operando à esquerda pertence ao conjunto do operando à direita. Diferentemente de in, os valores NULL não são ignorados: NULL é comparado com os elementos do conjunto, e NULL = NULL é avaliado como true.
Sintaxe
nullIn(x, set)Argumentos
x— O valor a verificar. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x estiver no conjunto; caso contrário, 0. UInt8
Exemplos
Uso básico
SELECT nullIn(NULL, tuple(1, NULL))0nullInIgnoreSet
Introduzido na versão: v1.1.0
Verifica se o operando à esquerda pertence ao conjunto do operando à direita. Diferentemente de in, os valores NULL não são ignorados: NULL é comparado com os elementos do conjunto, e NULL = NULL é avaliado como true.
Esta é a variante IgnoreSet usada para análise de tipos sem criar o conjunto.
Sintaxe
nullIn(x, set)Argumentos
x— O valor a ser verificado. -set— O conjunto de valores.
Valor retornado
Retorna 1 se x estiver no conjunto; caso contrário, 0. UInt8
Exemplos
Uso básico
SELECT nullIn(NULL, tuple(1, NULL))0