Compartilhar via


operador has_any

Filtra um conjunto de registros para dados com qualquer conjunto de cadeias de caracteres que diferenciam maiúsculas de minúsculas. has_anypesquisa termos indexados, onde um termo indexado tem três ou mais caracteres. Se o termo tiver menos de três caracteres, a consulta verificará os valores na coluna, o que é mais lento do que procurar o termo no índice de termos.

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.

Sintaxe

T | where colhas_any ( 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 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é 10.000 valores distintos.

Observação

Uma expressão tabular embutida deve ser colocada entre parênteses duplos. Confira o exemplo.

Devoluções

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

Exemplos

Lista de escalares

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

StormEvents 
| where State has_any ("CAROLINA", "DAKOTA", "NEW") 
| summarize count() by State

Saída

Estado count_
NEW YORK 1750
NORTH CAROLINA 1721
DAKOTA DO SUL 1567
NEW JERSEY 1044
SOUTH CAROLINA 915
DAKOTA DO NORTE 905
NEW MEXICO 527
NEW HAMPSHIRE 394

Matriz dinâmica

A consulta a seguir mostra como usar has_any com uma matriz dinâmica.

StormEvents 
| where State has_any (dynamic(['south', 'north']))
| summarize count() by State

Saída

Estado count_
NORTH CAROLINA 1721
DAKOTA DO SUL 1567
SOUTH CAROLINA 915
DAKOTA DO NORTE 905
ATLÂNTICO SUL 193
ATLANTIC NORTH 188

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

let areas = dynamic(['south', 'north']);
StormEvents 
| where State has_any (areas)
| summarize count() by State

Saída

Estado count_
NORTH CAROLINA 1721
DAKOTA DO SUL 1567
SOUTH CAROLINA 915
DAKOTA DO NORTE 905
ATLÂNTICO SUL 193
ATLANTIC NORTH 188

Expressão tabular

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

StormEvents 
| where State has_any ((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 fornecidos no último exemplo não são necessários nesse caso.

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

Saída

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