Partilhar via


in~ operador

Aplica-se a: ✅Microsoft FabricAzure Data ExplorerAzure MonitorMicrosoft Sentinel

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

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

Operador Descrição Case-Sensitive Exemplo (rendimentos true)
in Igual a qualquer um dos elementos Sim "abc" in ("123", "345", "abc")
!in Não é igual a nenhum 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 é igual a nenhum dos elementos Não "bCa" !in~ ("123", "345", "ABC")

Observação

As matrizes aninhadas são niveladas em uma única lista de valores. Por exemplo, x in (dynamic([1,[2,3]])) passa a 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.

Atualmente, operadores que não diferenciam maiúsculas de minúsculas são suportados apenas para texto ASCII. Para comparação não-ASCII, use a função tolower( ).

Sugestões de desempenho

Observação

Quando mais de 128 termos de pesquisa são usados, a otimização da pesquisa de índice de texto é desativada, o que pode levar a um desempenho de consulta reduzido.

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.

Sempre que possível, use o diferenciador de maiúsculas e minúsculas.

Sintaxe

O|wherein~( colexpressão, ...)

Saiba mais sobre convenções de sintaxe.

Parâmetros

Nome Tipo Obrigatório 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 para os quais pesquisar. Cada expressão pode ser um valor de escalar ou um de 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

Linhas em T para as quais o predicado é true.

Exemplos

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

Realização

Contar
4775

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

Realização

Contar
4775

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

let states = dynamic(["FLORIDA", "georgia", "NEW YORK"]);
StormEvents 
| where State has_any (states)
| summarize count() by State

Realização

Contar
4775

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

Realização

Estado contagem_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GEÓRGIA 1983
MINNESOTA 1881
... ...

A mesma consulta também pode ser escrita com uma instrução let. Observe que os parênteses duplos fornecidos 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

Realização

Estado contagem_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GEÓRGIA 1983
MINNESOTA 1881
... ...