Оператор has

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

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

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

Дополнительные сведения о других операторах и определении того, какой оператор лучше всего подходит для запроса, см. в разделе Строковые операторы типа данных.

Советы по улучшению производительности

Примечание

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

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

Синтаксис

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

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

Параметры

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

Возвращаемое значение

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

Пример

StormEvents
| summarize event_count=count() by State
| where State has "New"
| where event_count > 10
| project State, event_count

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

Состояние event_count
НЬЮ-ЙОРК 1,750
НЬЮ-ДЖЕРСИ 1,044
НЬЮ-МЕКСИКО 527
НЬЮ-ГЕМПШИР 394