Operadores lógicos (binários)

Os seguintes operadores lógicos podem ser usados para executar comparações e avaliações:

Nome do operador Sintaxe Significado
Igualitário == Retornará true se ambos os operandos não forem nulos e forem iguais uns aos outros. Caso contrário, retorna false.
Desigualdade != Retorna true se qualquer um dos operandos for nulo ou se os operandos não forem iguais uns aos outros. Caso contrário, retorna false.
AND lógico and Retornará true somente se ambos os operandos forem true.
OR lógico or Retornará true se um dos operandos for true, independentemente do outro operando.

Observação

Esses operadores lógicos às vezes são chamados de operadores boolianos e, às vezes, como operadores binários. Os termos são intercambiáveis.

Como os operadores lógicos funcionam com valores nulos

Os valores nulos seguem as seguintes regras:

Operação Result
bool(null) == bool(null) false
bool(null) != bool(null) false
bool(null) and true false
bool(null) or true true

Exemplos

Igualitário

A consulta a seguir retorna uma contagem de todos os eventos de tempestade em que o tipo de evento é "Tornado".

StormEvents
| where EventType == "Tornado"
| count

Saída

Contagem
1238

Desigualdade

A consulta a seguir retorna uma contagem de todos os eventos de tempestade em que o tipo de evento não é "Tornado".

StormEvents
| where EventType != "Tornado"
| count

Saída

Contagem
57828

AND lógico

A consulta a seguir retorna uma contagem de todos os eventos de tempestade em que o tipo de evento é "Tornado" e o estado é "KANSAS".

StormEvents
| where EventType == "Tornado" and State == "KANSAS"
| count

Saída

Contagem
161

OR lógico

A consulta a seguir retorna uma contagem de todos os eventos de tempestade em que o tipo de evento é "Tornado" ou "Vento de Tempestade".

StormEvents
| where EventType == "Tornado" or EventType != "Thunderstorm Wind"
| count

Saída

Contagem
14253

Valores nulos

A consulta a seguir mostra que os valores nulos são tratados como false.

print iff(bool(null) and true, true, false)

Saída

print_0
false