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


Оператор !contains

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

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

  • RHS = справа от выражения
  • LHS = левая сторона выражения
Operator Description С учетом регистра Пример (при true)
contains Правая часть является вхождением в левую часть No "FabriKam" contains "BRik"
!contains RHS не возникает в LHS No "Fabrikam" !contains "xyz"
contains_cs Правая часть является вхождением в левую часть Да "FabriKam" contains_cs "Kam"
!contains_cs RHS не возникает в LHS Да "Fabrikam" !contains_cs "Kam"

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

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

Примечание.

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

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

Используйте, !has если вы ищете термин.

Синтаксис

Синтаксис без учета регистра

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

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

Параметры

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

Возвраты

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

Пример

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

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

Штат event_count
TEXAS 4701