operador in~

Filtra um conjunto de registos para dados com uma cadeia não sensível a maiúsculas e minúsculas.

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

Operador Descrição Case-Sensitive Exemplo (rendimentos true)
in É igual a um dos elementos Yes "abc" in ("123", "345", "abc")
!in Não é igual a nenhum dos elementos Yes "bca" !in ("123", "345", "abc")
in~ É igual a qualquer um dos elementos No "Abc" in~ ("123", "345", "abc")
!in~ Não é igual a nenhum dos elementos No "bCa" !in~ ("123", "345", "ABC")

Nota

As matrizes aninhadas são achatadas numa única 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 determinar qual o operador mais adequado para a consulta, veja operadores de cadeias de tipo de dados.

Atualmente, os operadores não sensíveis a maiúsculas e minúsculas são atualmente suportados apenas para texto ASCII. Para comparação não ASCII, utilize a função tolower( ).

Sugestões de desempenho

Nota

O desempenho depende do tipo de pesquisa e da estrutura dos dados. Para melhores práticas, veja Melhores práticas de consulta.

Sempre que possível, utilize o sensível às maiúsculas e minúsculas.

Syntax

T|wherecolin~(expressão, ... )

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Nome Tipo Necessário Descrição
T string ✔️ A entrada tabular a filtrar.
col string ✔️ A coluna pela qual filtrar.
expression escalar ou tabular ✔️ Uma expressão que especifica os valores para os quais deve procurar. 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 múltiplas colunas, é utilizada a primeira coluna. A pesquisa considerará até 1000 000 valores distintos.

Devoluções

Linhas em T para as quais o predicado é true.

Exemplos

Lista de escalares

A consulta seguinte mostra como utilizar in~ com uma lista separada por vírgulas de valores escalares.

StormEvents 
| where State in~ ("FLORIDA", "georgia", "NEW YORK") 
| count

Saída

de palavras
4775

Matriz dinâmica

A seguinte consulta mostra como utilizar in~ com uma matriz dinâmica.

StormEvents 
| where State in~ (dynamic(["FLORIDA", "georgia", "NEW YORK"])) 
| count

Saída

de palavras
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

de palavras
4775

Expressão tabular

A consulta seguinte mostra como utilizar in~ com uma expressão tabular inline. Tenha em atenção que uma expressão tabular inline tem de estar 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. Tenha em atenção que os parênteses duplos, conforme indicado 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
... ...