operador wherewhere operator

Filtra uma tabela para o subconjunto de linhas que satisfazem um predicado.Filters a table to the subset of rows that satisfy a predicate.

T | where fruit=="apple"

PseudónimofilterAlias filter

SyntaxSyntax

T | where PredicateT | where Predicate

ArgumentosArguments

  • T: A entrada tabular cujos registos devem ser filtrados.T: The tabular input whose records are to be filtered.
  • Predicado: boolean Expressão sobre as colunas de T. É avaliado para cada linha em T.Predicate: A boolean expression over the columns of T. It's evaluated for each row in T.

DevoluçõesReturns

Linhas em T para as quais predicado é true .Rows in T for which Predicate is true.

Notas Valores nulos: todas as funções de filtragem voltam falsas quando comparadas com valores nulos.Notes Null values: all filtering functions return false when compared with null values. Pode utilizar funções especiais de sensibilização para o nulo para escrever consultas que manuseiem valores nulos.You can use special null-aware functions to write queries that handle null values.

isnull() isnotnull()( isempty), isnotempty().isnull(), isnotnull(), isempty(), isnotempty().

SugestõesTips

Para obter o desempenho mais rápido:To get the fastest performance:

  • Utilize comparações simples entre nomes de colunas e constantes.Use simple comparisons between column names and constants. ('Constante' significa constante sobre a mesa - assim now() como ago() e são OK, assim como os valores escalares atribuídos através de uma let declaração.)('Constant' means constant over the table - so now() and ago() are OK, and so are scalar values assigned using a let statement.)

    Por exemplo, where Timestamp >= ago(1d) where floor(Timestamp, 1d) == ago(1d) prefere.For example, prefer where Timestamp >= ago(1d) to where floor(Timestamp, 1d) == ago(1d).

  • Termos mais simples em primeiro lugar: Se tiver várias cláusulas juntas, coloque primeiro as and cláusulas que envolvem apenas uma coluna.Simplest terms first: If you have multiple clauses conjoined with and, put first the clauses that involve just one column. Assim Timestamp > ago(1d) and OpId == EventId como é melhor do que o contrário.So Timestamp > ago(1d) and OpId == EventId is better than the other way around.

Para mais informações, consulte o resumo dos operadores de cordas disponíveis e o resumo dos operadores numéricos disponíveis.For more information, see the summary of available String operators and the summary of available Numerical operators.

Exemplo: Comparações simples primeiroExample: Simple comparisons first

Traces
| where Timestamp > ago(1h)
    and Source == "MyCluster"
    and ActivityId == SubActivityId 

Este exemplo recupera registos que não têm mais de 1 hora, vêm de uma fonte chamada MyCluster , e têm duas colunas do mesmo valor.This example retrieves records that are no older than 1 hour, come from a source called MyCluster, and have two columns of the same value.

Note que colocamos a comparação entre duas colunas em último lugar, uma vez que não pode usar o índice e força uma varredura.Notice that we put the comparison between two columns last, as it can't use the index and forces a scan.

Exemplo: As colunas contêm cordaExample: Columns contain string

Traces | where * has "Kusto"

Todas as linhas em que a palavra "Kusto" aparece em qualquer coluna.All the rows in which the word "Kusto" appears in any column.