Partager via


opérateur where

Filtre une table d’après le sous-ensemble de lignes correspondant à un prédicat.

Les opérateurs et filter les where opérateurs sont équivalents

Syntaxe

T | where Prédicat

En savoir plus sur les conventions de syntaxe.

Paramètres

Nom Type Requise Description
T string ✔️ Entrée tabulaire dont les enregistrements doivent être filtrés.
Prédicat string ✔️ Expression qui prend la valeur d’un bool pour chaque ligne en T.

Retours

Les lignes de T dont Predicate est true.

Remarque

Toutes les fonctions de filtrage retournent false par rapport aux valeurs Null. Utilisez des fonctions spéciales prenant en charge null pour écrire des requêtes qui gèrent des valeurs Null.

Astuces pour les performances

  • Utilisez des comparaisons simples entre les noms de colonne et les constantes. (« Constante » s’entend dans le sens de constante au fil de la table, de telle sorte que now() et ago() soient OK, tout comme les valeurs scalaires affectées à l’aide d’une instruction let.)

    Par exemple, préférez where Timestamp >= ago(1d) à where bin(Timestamp, 1d) == ago(1d).

  • Simplest terms first (termes les plus simples en premier) : si vous avez plusieurs clauses unies par and, insérez d’abord les clauses n’impliquant qu’une seule colonne. C’est pourquoi Timestamp > ago(1d) and OpId == EventId est plus adapté.

Pour plus d’informations, consultez le résumé des opérateurs de chaîne disponibles et le résumé des opérateurs numériques disponibles.

Exemples

Comparaisons de commandes par complexité

La requête suivante retourne des enregistrements de tempête qui signalent des biens endommagés, sont des inondations, et commencent et se terminent à différents endroits.

Notez que nous mettons la comparaison entre deux colonnes en dernier, car l’opérateur où l’opérateur ne peut pas utiliser l’index et force une analyse.

StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
    and EventType == "Flood"
    and BeginLocation != EndLocation 

Le tableau suivant affiche uniquement les 10 premiers résultats. Pour voir la sortie complète, exécutez la requête.

DamageProperty Type d’événement BeginLocation EndLocation
5 000 Crue FAYETTE CITY LOWBER
5 000 Crue MORRISVILLE WEST WAYNESBURG
10000 Crue COPELAND HARRIS GROVE
5 000 Crue GLENFORD MT PERRY
25000 Crue EAST SENECA BUFFALO AIRPARK ARPT
20000 Crue EBENEZER SLOAN
10000 Crue BUEL CALHOUN
10000 Crue GOODHOPE WEST MILFORD
5 000 Crue FORÊT DUNKIRK
20000 Crue FARMINGTON MANNINGTON

Vérifier si la colonne contient une chaîne

La requête suivante retourne les lignes dans lesquelles le mot « cow » apparaît dans n’importe quelle colonne.

StormEvents
| where * has "cow"