Бинарные (логические) операторы

Для сравнения и оценки можно использовать следующие логические операторы:

имя оператора; Синтаксис Значение
Равенство == Возвращает значение true , если оба операнда не равны NULL и равны друг другу. В противном случае возвращается false.
Неравенство != Возвращает значение true , если любой из операндов имеет значение NULL или если операнды не равны друг другу. В противном случае возвращается false.
Логическое И and Возвращает, true только если оба операнда имеют значение true.
Логическое ИЛИ or Возвращает значение true , если любой из операндов имеет значение true, независимо от другого операнда.

Примечание

Эти логические операторы иногда называют логическими, а иногда бинарными. Термины являются взаимозаменяемыми.

Как логические операторы работают со значениями NULL

Значения NULL соответствуют следующим правилам:

Операция Результат
bool(null) == bool(null) false
bool(null) != bool(null) false
bool(null) and true false
bool(null) or true true

Примеры

Равенство

Следующий запрос возвращает количество всех событий storm, в которых тип события — "Tornado".

StormEvents
| where EventType == "Tornado"
| count

Выходные данные

Count
1238

Неравенство

Следующий запрос возвращает количество всех событий storm, в которых тип события не является "Tornado".

StormEvents
| where EventType != "Tornado"
| count

Выходные данные

Count
57828

Логическое И

Следующий запрос возвращает количество всех событий storm, в которых тип события — "Tornado", а состояние — "KANSAS".

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

Выходные данные

Count
161

Логическое ИЛИ

Следующий запрос возвращает количество всех событий шторма, в которых тип события — "Торнадо" или "Грозовый ветер".

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

Выходные данные

Count
14253

Значения NULL

Следующий запрос показывает, что значения NULL обрабатываются как false.

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

Выходные данные

print_0
false