operador in~

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

A tabela a in seguir fornece uma comparação dos 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]])) torna-se x in (1,2,3).

Para obter mais informações sobre outros operadores e para 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 a diferenciação entre maiúsculas e minúsculas.

Syntax

T|whereColin~(Expressão, ... )

Saiba mais sobre as 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 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 valores distintos.

Retornos

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

Contagem
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

Contagem
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

Contagem
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 nesse 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
... ...