Operadores que podem ser usados em expressões

Constantes e variáveis podem ser combinadas por um operador para produzir um resultado que, por sua vez, pode ser usado com outro operador. O tipo de dados resultante ou a expressão deve ser um número inteiro escalar ou valor de vírgula flutuante. Se o resultado for zero, a expressão será considerada como FALSE; caso contrário, ela será TRUE.

Nota: os espaços em branco são opcionais em torno de operadores e operandos, a menos que sua omissão cause uma ambiguidade Uma ambiguidade geralmente ocorre somente com operadores em forma de palavra (ou seja, AND, OR, IN, LIKE, etc.). Com esses operadores, um espaço em branco ou separador, como um parêntese ou colchete, é necessário para distinguir o operador de palavra de um operando. Por exemplo, aANDb é ambíguo. Não está claro se é destinado a ser o nome de variável aANDb ou os nomes de variáveis a, b combinados com o operador AND. Ele é realmente interpretado pelo aplicativo como um único nome de variável aANDb. Com os operadores que não são de palavra (por exemplo, +,-, =, &&, etc.), essa ambiguidade não existe e, portanto, os espaços em branco são opcionais.
A Tabela 1 fornece um resumo do conjunto de operadores que podem ser usados em sequências:
Tabela 1. Operadores que podem ser usados em sequências
Operador Descrição Tipos de dados à esquerda Tipos de dados à direita Exemplo Notas
+ Adição Número inteiro, valor flutuante Número inteiro, valor flutuante "1+2" resulta em 3 Nenhum
- Subtração Número inteiro, valor flutuante Número inteiro, valor flutuante "1.0-2.0" resulta em -1.0 Nenhum
* Multiplicação Número inteiro, valor flutuante Número inteiro, valor flutuante "2*3" resulta em 6 Nenhum
/ Divisão Número inteiro, valor flutuante Número inteiro, valor flutuante "2/3" resulta em 1 Nenhum
- Subtração unária Nenhum Número inteiro, valor flutuante "-abc" Nenhum
+ Adição unária Nenhum Número inteiro, valor flutuante "+abc" Nenhum
.. Intervalo Números inteiros Números inteiros "1..3" resulta em 1,2,3 Abreviação para todos os números inteiros entre e inclusive os dois valores
% Módulo Números inteiros Números inteiros "10%2" resulta em 0 Nenhum
| OR bit a bit Números inteiros Números inteiros "2|4" resulta em 6 Nenhum
& Bit a bit AND Números inteiros Números inteiros "3&2" resulta em 2 Nenhum
~ Complemento bit a bit Nenhum Números inteiros ~0x0000ffff resulta em 0xffff0000 Nenhum
^ OR exclusivo Números inteiros Números inteiros 0x0000aaaa^0x0000ffff resulta em 0x00005555 Nenhum
>> Deslocamento à direita Números inteiros Números inteiros 0x0fff>>4 resulta em 0x00ff Nenhum
<< Deslocamento à esquerda Números inteiros Números inteiros "0x0ffff<<4" resulta em 0xffff0 Nenhum
==

=
Igualdade Todos, exceto SDs Todos, exceto SDs
"2 == 2" resulta em 1

"2 = 2" resulta em 1
O resultado é true (1) ou false (0)
!=

<>
Desigualdade Todos, exceto SDs Todos, exceto SDs
"2! = 2" resultados em 0

"2 <> 2" resultados em 0
O resultado é true (1) ou false (0)
> Maior que Número inteiro, valor flutuante Número inteiro, valor flutuante "2>3" resulta em 0 O resultado é true (1) ou false (0)
>= Maior que ou igual a Número inteiro, valor flutuante Número inteiro, valor flutuante "4>=3" resulta em 1 O resultado é true (1) ou false (0)
< Menor que Número inteiro, valor flutuante Número inteiro, valor flutuante "4<3" resulta em 0 O resultado é true (1) ou false (0)
<= Menor que ou igual a Número inteiro, valor flutuante Número inteiro, valor flutuante "2<=3" resulta em 1 O resultado é true (1) ou false (0)
=~ Correspondência de padrões Sequências Sequências "abc" =~"a. *" resulta em 1 O operando à direita é interpretado como uma expressão regular estendida
!~ Sem correspondência de padrões Sequências Sequências "abc"!~"a. *" resulta em 0 O operando à direita é interpretado como uma expressão regular estendida
=?

LIKE

como
Correspondência de padrões SQL Sequências Sequências "abc"=? "a%" resulta em 1 O operando à direita é interpretado como um padrão SQL
!?

NOT LIKE

não curtir
Sem correspondência de padrões SQL Sequências Sequências "abc"!? "a%" resulta em 0 O operando à direita é interpretado como um padrão SQL
| <

IN

em
Contém qualquer Todos, exceto SDs Todos, exceto SDs "{1..5}|<{2,10}" resulta em 1 O resultado será true (1) se o operando à esquerda contiver qualquer valor do operando à direita
> <

NOT IN

não em
Contém nenhum Todos, exceto SDs Todos, exceto SDs "{1..5}><{2,10}" resulta em 1 O resultado será true (1) se o operando à esquerda não contiver nenhum valor do operando à direita
&< Contém todos Todos, exceto SDs Todos, exceto SDs "{1..5}&<{2,10}" resulta em 0 O resultado será true (1) se o operando à esquerda contiver todos os valores do operando à direita
| |

OR

ou
OR lógico Números inteiros Números inteiros "(1<2)||(2>4)" resulta em 1 O resultado é true (1) ou false (0)
&

AND

e
AND lógico Números inteiros Números inteiros "(1<2)&&(2>4)" resulta em 0 O resultado é true (1) ou false (0)
!

NÃO

não
NOT lógico Nenhum Números inteiros "!(2==4)" resulta em 1 O resultado é true (1) ou false (0)