where-Operator
Gilt für: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Filtert eine Tabelle auf die Teilmenge der Zeilen, die ein Prädikat erfüllen.
Die Operatoren und
filter
Operatorenwhere
sind gleichwertig.
Syntax
T | where
Prädikat
Erfahren Sie mehr über Syntaxkonventionen.
Parameter
Name | Type | Erforderlich | Beschreibung |
---|---|---|---|
T | string |
✔️ | Tabellarische Eingabe, deren Datensätze gefiltert werden sollen. |
Prädikat | string |
✔️ | Ausdruck, der für jede Zeile in T als Bool ausgewertet wird. |
Gibt zurück
Zeilen in T, für die Predicate auf true
festgelegt ist.
Hinweis
Alle Filterfunktionen geben "false" zurück, wenn sie mit Nullwerten verglichen werden. Verwenden Sie spezielle Null-fähige Funktionen, um Abfragen zu schreiben, die Nullwerte behandeln.
Leistungstipps
Verwenden Sie einfache Vergleiche zwischen dem Spaltennamen und Konstanten. („Konstant“ bedeutet konstant innerhalb der Tabelle, d. h.
now()
undago()
sind ebenso zulässig wie Skalarwerte, die mithilfe einerlet
-Anweisung zugewiesen werden.)Beispielsweise wird
where Timestamp >= ago(1d)
gegenüberwhere bin(Timestamp, 1d) == ago(1d)
bevorzugt.Einfachste Begriffe zuerst: Wenn Sie mehrere mit
and
verbundene Klauseln haben, stellen Sie die Klauseln, die nur eine Spalte umfassen, an den Anfang.Timestamp > ago(1d) and OpId == EventId
ist also besser als anders herum.
Weitere Informationen finden Sie in der Zusammenfassung der verfügbaren Zeichenfolgenoperatoren und in der Zusammenfassung der verfügbaren numerischen Operatoren.
Beispiele
Bestellvergleiche nach Komplexität
Die folgende Abfrage gibt Sturmdatensätze zurück, die beschädigte Eigenschaften melden, Überschwemmungen sind und an verschiedenen Stellen beginnen und enden.
Beachten Sie, dass der Vergleich zwischen zwei Spalten zuletzt erfolgt, da der Operator den Index nicht verwenden kann und einen Scan erzwingt.
StormEvents
| project DamageProperty, EventType, BeginLocation, EndLocation
| where DamageProperty > 0
and EventType == "Flood"
and BeginLocation != EndLocation
In der folgenden Tabelle sind nur die ersten 10 Ergebnisse aufgeführt. Führen Sie die Abfrage aus, um die vollständige Ausgabe anzuzeigen.
DamageProperty | EventType | BeginLocation | EndLocation |
---|---|---|---|
5.000 | Hochwasser | FAYETTE CITY LOWBER | |
5.000 | Hochwasser | MORRISVILLE WEST WAYNESBURG | |
10000 | Hochwasser | COPELAND HARRIS GROVE | |
5.000 | Hochwasser | GLENFORD MT PERRY | |
25000 | Hochwasser | EAST SENECA BUFFALO AIRPARK ARPT | |
20000 | Hochwasser | EBENEZER SLOAN | |
10000 | Hochwasser | BUEL CALHOUN | |
10000 | Hochwasser | GOODHOPE WEST MILFORD | |
5.000 | Hochwasser | DUNKIRK-WALD | |
20000 | Hochwasser | FARMINGTON MANNINGTON |
Überprüfen, ob Spalte Zeichenfolge enthält
Die folgende Abfrage gibt die Zeilen zurück, in denen das Wort "Kuh" in einer beliebigen Spalte angezeigt wird.
StormEvents
| where * has "cow"