Freigeben über


!in~-Operator

Filtert einen Datensatzsatz nach Daten ohne Zeichenfolge ohne Beachtung der Groß-/Kleinschreibung.

Die folgende Tabelle enthält einen Vergleich der in Operatoren:

Operator BESCHREIBUNG Groß-/Kleinschreibung Beispiel (ergibt true)
in Entspricht einem der Elemente Ja "abc" in ("123", "345", "abc")
!in Entspricht keinem der Elemente Ja "bca" !in ("123", "345", "abc")
in~ Entspricht einem der Elemente Nein "Abc" in~ ("123", "345", "abc")
!in~ Entspricht keinem der Elemente Nein "bCa" !in~ ("123", "345", "ABC")

Hinweis

Geschachtelte Arrays werden in einer einzigen Liste von Werten vereinfacht. x in (dynamic([1,[2,3]])) wird beispielsweise zu x in (1,2,3).

Weitere Informationen zu anderen Operatoren und zum Bestimmen, welcher Operator für Ihre Abfrage am besten geeignet ist, finden Sie unter Datentypzeichenfolgenoperatoren.

Operatoren ohne Beachtung der Groß-/Kleinschreibung werden derzeit nur für ASCII-Text unterstützt. Verwenden Sie für den Vergleich von Nicht-ASCII-Text die Funktion tolower().

Leistungstipps

Hinweis

Die Leistung hängt vom Suchtyp und der Struktur der Daten ab. Bewährte Methoden finden Sie unter Abfragen bewährter Methoden.

Verwenden Sie nach Möglichkeit die Groß-/Kleinschreibung !in.

Syntax

T|whereCol!in~(Ausdruck, ... )

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Typ Erforderlich Beschreibung
T string ✔️ Die zu filternde tabellarische Eingabe.
col string ✔️ Die Spalte, nach der gefiltert werden soll.
expression skalar oder tabellarisch ✔️ Ein Ausdruck, der die Werte angibt, nach denen gesucht werden soll. Jeder Ausdruck kann ein skalarer Wert oder ein tabellarischer Ausdruck sein, der einen Satz von Werten erzeugt. Wenn ein tabellarischer Ausdruck über mehrere Spalten verfügt, wird die erste Spalte verwendet. Bei der Suche werden bis zu 1.000.000 unterschiedliche Werte berücksichtigt.

Gibt zurück

Zeilen in T, für die das Prädikat true ist.

Beispiel

Liste der Skalare

Die folgende Abfrage zeigt die Verwendung !in~ mit einer durch Trennzeichen getrennten Liste skalarer Werte.

StormEvents 
| where State !in~ ("Florida", "Georgia", "New York") 
| count

Ausgabe

Anzahl
54,291

Dynamisches Array

Die folgende Abfrage zeigt die Verwendung !in~ mit einem dynamischen Array.

StormEvents 
| where State !in~ (dynamic(["Florida", "Georgia", "New York"])) 
| count

Ausgabe

Anzahl
54291

Dieselbe Abfrage kann auch mit einer let-Anweisung geschrieben werden.

let states = dynamic(["Florida", "Georgia", "New York"]);
StormEvents 
| where State !in~ (states)
| summarize count() by State

Ausgabe

Anzahl
54291

Tabellarischer Ausdruck

Die folgende Abfrage zeigt die Verwendung !in~ mit einem inline-tabellarischen Ausdruck. Beachten Sie, dass ein inline tabellarischer Ausdruck mit doppelten Klammern eingeschlossen werden muss.

StormEvents 
| where State !in~ (PopulationData | where Population > 5000000 | project State)
| summarize count() by State

Ausgabe

State count_
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
SOUTH DAKOTA 1567
... ...

Dieselbe Abfrage kann auch mit einer let-Anweisung geschrieben werden. Beachten Sie, dass die im letzten Beispiel angegebenen doppelten Klammern in diesem Fall nicht erforderlich sind.

let large_states = PopulationData | where Population > 5000000 | project State;
StormEvents 
| where State !in~ (large_states)
| summarize count() by State

Ausgabe

State count_
KANSAS 3166
IOWA 2337
NEBRASKA 1766
OKLAHOMA 1716
SOUTH DAKOTA 1567
... ...