Freigeben über


where-Operator

Gilt für: ✅Microsoft Fabric✅Azure Data ExplorerAzure MonitorMicrosoft Sentinel

Filtert eine Tabelle auf die Teilmenge der Zeilen, die ein Prädikat erfüllen.

Die Operatoren und filter Operatoren where 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() und ago() sind ebenso zulässig wie Skalarwerte, die mithilfe einer let-Anweisung zugewiesen werden.)

    Beispielsweise wird where Timestamp >= ago(1d) gegenüber where 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"