Operadores de expressão
Última atualização: 28/10/2026Use operadores para calcular valores, comparar entradas e combinar condições quando Construindo expressões.
A semântica a seguir se aplica às expressões de tarefas de movimento. Expressões executadas em uma plataforma de dados em nuvem usam a semântica dessa plataforma. Coloque espaços ao redor dos operadores e coloque entre aspas as constantes de texto e de data, como $HIRE_DATE < '2026-10-08'.
Operadores aritméticos
| Operador | Significado | Exemplo e resultado |
|---|---|---|
+
|
Soma os dois operandos. | 2 + 3 retorna 5. |
-
|
Subtrai o operando direito do esquerdo. Um sinal de menos inicial nega um valor. | 5 - 2 retorna 3. |
*
|
Multiplica os operandos. | 3 * 4 retorna 12. |
/
|
Divide o operando esquerdo pelo direito. A divisão inteira trunca em direção a zero. Um operando real preserva um resultado fracionário. A divisão por zero retorna NULL. | 7 / 2 retorna 3; 7.0 / 2 retorna 3.5. |
%
|
Converte ambos os operandos em inteiros e retorna o resto da divisão. Esse não é um cálculo de porcentagem. | 7 % 3 retorna 1. |
Operadores de comparação
As comparações retornam 1 para verdadeiro e 0 para falso. Comparações comuns com NULL retornam NULL; use IS ou IS NOT para testar valores ausentes.
| Operador | Significado | Exemplo e resultado |
|---|---|---|
=
|
Testa a igualdade. | 3 = 3 retorna 1. |
!=
|
Testa a desigualdade. | 3 != 4 retorna 1. |
<>
|
Operador de desigualdade alternativo. | 3 <> 3 retorna 0. |
<
|
Verifica se o valor à esquerda é menor. | 2 < 3 retorna 1. |
<=
|
Testa menor que ou igual a. | 3 <= 3 retorna 1. |
>
|
Testa se o valor à esquerda é maior. | 4 > 3 retorna 1. |
>=
|
Testa se é maior que ou igual a. | 3 >= 3 retorna 1. |
IS
|
Testa a igualdade sem retornar NULL. Dois valores NULL são iguais; um valor NULL e um valor não NULL não são. | NULL IS NULL retorna 1. |
IS NOT
|
Testa a desigualdade sem retornar NULL. | NULL IS NOT 3 retorna 1. |
Operadores lógicos e condicionais
| Operador | Significado | Exemplo e resultado |
|---|---|---|
AND
|
Verdadeiro quando ambas as condições forem verdadeiras. Um operando falso torna o resultado falso, mesmo que o outro operando seja NULL. | (3 > 2) AND (4 < 3) retorna 0. |
OR
|
Verdadeiro quando qualquer uma das condições for verdadeira. Um operando verdadeiro torna o resultado verdadeiro, mesmo que o outro operando seja NULL. | (3 > 2) OR (4 < 3) retorna 1. |
IN
|
Testa a pertinência em uma lista entre parênteses. Se nenhum valor corresponder e a lista contiver NULL, retorna NULL. Uma lista vazia retorna 0, inclusive para um operando à esquerda NULL. | 2 IN (1, 2, 3) retorna 1; 4 IN (1, NULL) retorna NULL. |
CASE
|
Retorna a primeira ramificação correspondente. Com um valor base, compara-o a cada valor WHEN. Sem uma, testa cada condição WHEN. Usa ELSE se nenhuma ramificação corresponder, ou NULL se ELSE estiver ausente. | CASE WHEN 5 > 3 THEN 'High' ELSE 'Low' END retorna 'High'. CASE 2 WHEN 1 THEN 'One' WHEN 2 THEN 'Two' END retorna 'Two'. |
Operadores de string e padrão
| Operador | Significado | Exemplo e resultado |
|---|---|---|
||
|
Concatena valores de texto. Um operando NULL produz NULL. | 'John' || ' ' || 'Smith' retorna 'John Smith'. |
LIKE
|
Compara a string da esquerda com o padrão da direita. % corresponde a zero ou mais caracteres; _ corresponde a um. Ignora a distinção entre maiúsculas e minúsculas de caracteres ASCII por padrão, mas não diferenças de maiúsculas e minúsculas de caracteres não ASCII. ESCAPE especifica um único caractere para caracteres curinga literais. |
'Alice' LIKE 'A%' retorna 1. '10%' LIKE '10!%' ESCAPE '!' retorna 1. |
GLOB
|
Correspondência com distinção entre maiúsculas e minúsculas usando padrões no estilo Unix. * corresponde a zero ou mais caracteres, ? corresponde a um, e os colchetes definem um conjunto de caracteres. |
'file.csv' GLOB '*.csv' retorna 1; 'File.CSV' GLOB '*.csv' retorna 0. |
MATCH
|
Delega para a função match() definida pelo aplicativo. É necessária uma implementação utilizável; a implementação padrão do SQLite gera um erro. |
'Quarterly sales' MATCH 'sales' ilustra a sintaxe. O resultado depende da implementação da aplicação. |
REGEXP
|
Delega para a função regexp() definida pelo aplicativo. O SQLite não fornece esta função por padrão. |
'ABC123' REGEXP '^[A-Z]+[0-9]+$' ilustra a sintaxe. Sem uma implementação, a avaliação falha. |
Operadores bit a bit
Esses operadores binários atuam em bits de inteiros, não em condições lógicas. | significa OR bit a bit, mesmo que o editor também o liste em uma categoria lógica.
| Operador | Significado | Exemplo e resultado |
|---|---|---|
<<
|
Desloca o inteiro à esquerda para a esquerda pelo número de bits do operando à direita. | 3 << 1 retorna 6. |
>>
|
Desloca o inteiro à esquerda para a direita pelo número de bits no operando à direita. | 8 >> 1 retorna 4. |
&
|
AND bit a bit: define um bit no resultado apenas onde ambos os operandos têm esse bit definido. | 6 & 3 retorna 2. |
|
|
OR bit a bit: define um bit de resultado onde qualquer um dos operandos tem esse bit definido. | 6 | 3 retorna 7. |
Ordem de avaliação e valores ausentes
Para os operadores binários acima, a precedência da mais alta para a mais baixa é concatenação; multiplicação, divisão e resto; adição e subtração; operações bit a bit; comparações ordenadas; testes de igualdade e de padrão; AND; e depois OR. Operadores no mesmo nível são avaliados da esquerda para a direita. Os parênteses substituem esta ordem: (2 + 3) * 4 retorna 20, enquanto 2 + 3 * 4 retorna 14.
A maioria dos operadores retorna NULL quando um operando é NULL. As exceções descritas acima incluem IS, IS NOT e casos específicos de AND, OR e IN. Use $COALESCE quando um valor ausente deve ter uma substituição. Consulte Funções de expressão.