opérateur where
S’applique à : ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Filtre une table d’après le sous-ensemble de lignes correspondant à un prédicat.
Les opérateurs et
filter
leswhere
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()
etago()
soient OK, tout comme les valeurs scalaires affectées à l’aide d’une instructionlet
.)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 pourquoiTimestamp > 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"