Поделиться через


Оператор !has

Фильтрует набор записей для данных, которые не имеют соответствующей строки без учета регистра. !has ищет индексированные термины, где индексированные термины — три или более символов. Если ваш термин меньше трех символов, запрос сканирует значения в столбце, что медленнее, чем поиск термина в индексе термина.

В следующей таблице сравниваются has операторы с использованием предоставленных сокращенных фрагментов:

  • RHS = справа от выражения
  • LHS = левая сторона выражения
Operator Description С учетом регистра Пример (при true)
has Правая часть представляет собой все слово в левой части No "North America" has "america"
!has ПЧ не является полным термином в ЛЧ No "North America" !has "amer"
has_cs ПЧ представляет целый термин в ЛЧ Да "North America" has_cs "America"
!has_cs ПЧ не является полным термином в ЛЧ Да "North America" !has_cs "amer"

Дополнительные сведения о других операторах и определении наиболее подходящих операторов для запроса см. в разделе строковых операторов типа данных.

Советы по производительности

Примечание.

Производительность зависит от типа поиска и структуры данных. Рекомендации см. в разделе "Рекомендации по запросу".

По возможности используйте регистр с учетом регистра !has_cs.

Синтаксис

Выражение столбца T | where !has ()

Дополнительные сведения о соглашениях синтаксиса.

Параметры

Имя (название) Type Обязательно Описание
T string ✔️ Табличные входные данные, записи которых будут отфильтрованы.
column string ✔️ Столбец, по которому необходимо отфильтровать.
выражение скаляр ✔️ Скалярное или литеральное выражение, для которого выполняется поиск.

Возвраты

Строки в T, для которых предикат имеет значение true.

Пример

StormEvents
| summarize event_count=count() by State
| where State !has "NEW"
| where event_count > 3000
| project State, event_count

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

Штат event_count
TEXAS 4701
КАНЗАС 3166