Compartilhar via


operador in~

Aplica-se a: ✅Microsoft FabricAzure Data Explorer✅Azure 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 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

Quando mais de 128 termos de pesquisa são usados, a otimização de pesquisa de índice de texto é desabilitada, 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.

Quando possível, use o método que diferencia maiúsculas de minúsculas.

Sintaxe

T | where colin~ ( 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.

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

Saída

Count
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

Saída

Count
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

Saída

Count
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

Saída

Estado count_
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, 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_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GEÓRGIA 1983
MINNESOTA 1881
... ...