Os operadores são representados por caracteres especiais ou palavras-chave. Eles não usam a sintaxe de chamada de função. Um operador manipula qualquer número de entradas de dados, também chamados de operandos, e retorna um resultado.
Operadores aritméticos
- Adição: +
- Subtração: -
- Divisão: /
- Multiplicação: *
Operadores de comparação
- =
- !=
- >
- >=
- <
- <=
Os operandos nos dois lados dos operadores de comparação precisam ser do mesmo tipo: texto, número ou booleanos.
Operadores lógicos
AND / OR
É possível criar expressões complexas com AND e OR. Use parênteses para agrupar as condições e forçar a ordem de precedência, se necessário.
IS NULL
Retorna verdadeiro quando o campo de entrada está vazio ou é nulo.
Sintaxe
field IS NULL
Parâmetros
field
: dimensão ou métrica a ser avaliada.
Exemplos
O campo contém | Fórmula | Resultados |
---|---|---|
a | Field IS NULL | falso |
|
Field IS NULL | verdadeiro |
Mais sobre o NULL
A menos que especificado de outro modo, todos os operadores retornam NULL
quando um dos operandos é NULL
.
NULL
é diferente da string vazia (""). Embora usar uma string vazia em aritmética geralmente produza um erro, utilizar NULL retorna o valor "Null":
1+NULL = NULL
1*NULL = NULL
1/NULL = NULL
etc.
Por outro lado, embora seja possível concatenar valores com a string vazia, o resultado da concatenação de qualquer valor com NULL é o valor nulo:
CONCAT("A", "", "B") = "AB"
CONCAT("A", NULL, "B") = null
IN
Retornará o valor "true" se o campo de entrada contiver qualquer um dos valores listados. Tanto os valores de campo como os de lista precisam ser do mesmo tipo. IN corresponde a valores completos e diferencia letras maiúsculas de minúsculas. Para correspondência de valor parcial ou indiferente a maiúsculas, use a função REGEXP_MATCH.
Sintaxe
field IN (value1, value2, ... valueN)
Parâmetros
field
: dimensão ou métrica a ser avaliada.
value1,value2,...valueN
: os valores a serem procurados.
Exemplos
O campo contém | Tipo de campo | Fórmula | Resultados |
---|---|---|---|
Bob | Texto | Field IN ('Bob', 'Alice') | verdadeiro |
Alice | Texto | Field IN ('Bob', 'Alice') | verdadeiro |
Jorge | Texto | Field IN ('Bob', 'Alice') | falso |
20 | Número | Field IN (10, 20) | verdadeiro |
10 | Número | Field IN (10, 20) | verdadeiro |
100 | Número | Field IN (10, 20) | falso |
Bob | Texto | Field IN ('Bob', 20) | erro (porque "Field" é texto, mas 20 é um número. Para corrigir isso, coloque "20" entre aspas). |
NOT IN
Retornará "true" se o campo de entrada não contiver um dos valores listados. Tanto os valores de campo como os de lista precisam ser do mesmo tipo. IN corresponde a valores completos e diferencia letras maiúsculas de minúsculas. Para correspondência de valor parcial ou indiferente a maiúsculas, use REGEXP_MATCH.
Sintaxe
field NOT IN (value1, value2, ...valueN)
Parâmetros
field
: dimensão ou métrica a ser avaliada.
value1,value2,...valueN
: os valores a serem procurados.
Exemplos
O campo contém | Tipo de campo | Fórmula | Resultados |
---|---|---|---|
Jorge | Texto | Campo NOT IN ('Bob', 'Alice') | verdadeiro |
Alice | Texto | Field NOT IN ('Bob', 'Alicia','Hiroshi') | verdadeiro |
Bob | Texto | Field NOT IN ('Bob', 'Alice') | falso |
20 | Número | Field NOT IN (10, 20) | falso |
10 | Número | Field NOT IN (10, 20) | falso |
100 | Número | Field NOT IN (10, 20) | verdadeiro |
Bob | Texto | Field NOT IN ('Bob', 20) | erro* |
* Porque o tipo de Field é texto, mas 20 é um número. Funcionaria se "20" estivesse entre aspas.