Compartilhar via


operador !in~

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure MonitorMicrosoft Sentinel

Filtra um conjunto de registros para dados sem uma cadeia de caracteres que não diferencia maiúsculas de minúsculas.

A tabela a seguir fornece uma comparação dos in operadores:

Operador Descrição Diferencia maiúsculas de minúsculas Exemplo (suspende true)
in Equivale a um dos elementos Sim "abc" in ("123", "345", "abc")
!in Não equivale a qualquer um dos elementos Sim "bca" !in ("123", "345", "abc")
in~ Igual a qualquer um dos elementos Não "Abc" in~ ("123", "345", "abc")
!in~ Não equivale a qualquer um dos elementos Não "bCa" !in~ ("123", "345", "ABC")

Observação

As matrizes aninhadas são niveladas em uma lista de valores. Por exemplo, x in (dynamic([1,[2,3]])) se tornará x in (1,2,3).

Para obter mais informações sobre outros operadores e determinar qual operador é mais apropriado para sua consulta, consulte operadores de cadeia de caracteres de tipo de dados.

Os operadores que não diferenciam maiúsculas de minúsculas atualmente têm suporte apenas para texto ASCII. Para comparação não ASCII, use a função tolower().

Dicas de desempenho

Observação

O desempenho depende do tipo de pesquisa e da estrutura dos dados. Para obter as práticas recomendadas, consulte Práticas recomendadas de consulta.

Quando possível, use o !in que diferencia maiúsculas de minúsculas.

Sintaxe

T | where col!in~ ( expressão ...,)

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Digitar Obrigatória Descrição
T string ✔️ A entrada tabular a ser filtrada.
col string ✔️ A coluna pela qual filtrar.
expressão escalar ou tabular ✔️ Uma expressão que especifica os valores a serem pesquisados. Cada expressão pode ser um valor escalar ou uma expressão tabular que produz um conjunto de valores. Se uma expressão tabular tiver várias colunas, a primeira coluna será usada. A pesquisa considerará até 1.000.000 de valores distintos.

Devoluções

As linhas em T para as quais o predicado é true.

Exemplo

Lista de escalares

A consulta a seguir mostra como usar !in~ com uma lista separada por vírgulas de valores escalares.

StormEvents 
| where State !in~ ("Florida", "Georgia", "New York") 
| count

Saída

Count
54,291

Matriz dinâmica

A consulta a seguir mostra como usar !in~ com uma matriz dinâmica.

StormEvents 
| where State !in~ (dynamic(["Florida", "Georgia", "New York"])) 
| count

Saída

Count
54291

A mesma consulta também pode ser escrita com uma instrução let.

let states = dynamic(["Florida", "Georgia", "New York"]);
StormEvents 
| where State !in~ (states)
| summarize count() by State

Saída

Count
54291

Expressão tabular

A consulta a seguir mostra como usar !in~ com uma expressão tabular embutida. Observe que uma expressão tabular embutida deve ser colocada entre parênteses duplos.

StormEvents 
| where State !in~ (PopulationData | where Population > 5000000 | project State)
| summarize count() by State

Saída

Estado count_
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
DAKOTA DO SUL 1567
... ...

A mesma consulta também pode ser escrita com uma instrução let. Observe que os parênteses duplos, conforme fornecido no último exemplo, não são necessários neste caso.

let large_states = PopulationData | where Population > 5000000 | project State;
StormEvents 
| where State !in~ (large_states)
| summarize count() by State

Saída

Estado count_
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
DAKOTA DO SUL 1567
... ...