Freigeben über


!in~-Operator

Filtert einen Datensatzsatz für Daten ohne Zeichenfolge ohne 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. No "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. Beispielsweise wird x in (dynamic([1,[2,3]])) zu x in (1,2,3).

Weitere Informationen zu anderen Operatoren und zur Bestimmung, welcher Operator für Ihre Abfrage am besten geeignet ist, finden Sie unter Datentyp-Zeichenfolgenoperatoren.

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 Typ der Suche und der Struktur der Daten ab. Bewährte Methoden finden Sie unter "Bewährte Methoden für Abfragen".

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

Syntax

Spaltenausdruck, (!in~T ... | where )

Erfahren Sie mehr über Syntaxkonventionen.

Parameter

Name Type 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 eine Gruppe von Werten erzeugt. Wenn ein tabellarischer Ausdruck mehrere Spalten enthält, wird die erste Spalte verwendet. Die Suche berücksichtigt bis zu 1.000.000 unterschiedliche Werte.

Gibt zurück

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

Beispiel

Liste der Skalar

Die folgende Abfrage zeigt, wie Sie mit einer durch Trennzeichen getrennten Liste von Skalarwerten verwendet !in~ werden.

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, wie Sie mit einem inline tabellarischen Ausdruck verwendet !in~ werden. 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

Staat 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

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