Udostępnij za pośrednictwem


operator in~

Filtruje zestaw rekordów dla danych przy użyciu ciągu bez uwzględniania wielkości liter.

Poniższa tabela zawiera porównanie operatorów in :

Operator opis Uwzględniana wielkość liter Przykład (plony true)
in Równa się jednemu z elementów Tak "abc" in ("123", "345", "abc")
!in Nie równa się żadnej z elementów Tak "bca" !in ("123", "345", "abc")
in~ Równa się dowolnemu elementowi Nie. "Abc" in~ ("123", "345", "abc")
!in~ Nie równa się żadnej z elementów Nie. "bCa" !in~ ("123", "345", "ABC")

Uwaga

Zagnieżdżone tablice są spłaszczone w jedną listę wartości. Na przykład, x in (dynamic([1,[2,3]])) staje się x in (1,2,3).

Aby uzyskać więcej informacji na temat innych operatorów i określić, który operator jest najbardziej odpowiedni dla zapytania, zobacz operatory ciągów typu danych.

Operatory bez uwzględniania wielkości liter są obecnie obsługiwane tylko w przypadku tekstu ASCII. W przypadku porównania innego niż ASCII użyj funkcji tolower().

Wskazówki dotyczące wydajności

Uwaga

Wydajność zależy od typu wyszukiwania i struktury danych. Aby uzyskać najlepsze rozwiązania, zobacz Najlepsze rozwiązania dotyczące zapytań.

Jeśli to możliwe, użyj w pliku wielkości liter.

Składnia

Wyrażenie kolumny ( in~ T ... | where ,)

Dowiedz się więcej na temat konwencji składni.

Parametry

Nazwisko Type Wymagania opis
T string ✔️ Dane wejściowe tabelaryczne do filtrowania.
Col string ✔️ Kolumna, według której ma być filtrowany.
wyrażenie skalarny lub tabelaryczny ✔️ Wyrażenie określające wartości, dla których mają być wyszukiwane. Każde wyrażenie może być wartością skalarną lub wyrażeniem tabelarycznym tworzącym zestaw wartości. Jeśli wyrażenie tabelaryczne zawiera wiele kolumn, zostanie użyta pierwsza kolumna. Wyszukiwanie będzie uwzględniać maksymalnie 1000 000 unikatowych wartości.

Zwraca

Wiersze w języku T , dla których predykat to true.

Przykłady

Lista skalarów

Poniższe zapytanie pokazuje, jak używać in~ z rozdzielaną przecinkami listą wartości skalarnych.

StormEvents 
| where State in~ ("FLORIDA", "georgia", "NEW YORK") 
| count

Wyjście

Count
4775

Tablica dynamiczna

Poniższe zapytanie pokazuje, jak używać z in~ tablicą dynamiczną.

StormEvents 
| where State in~ (dynamic(["FLORIDA", "georgia", "NEW YORK"])) 
| count

Wyjście

Count
4775

To samo zapytanie można również napisać za pomocą instrukcji let.

let states = dynamic(["FLORIDA", "georgia", "NEW YORK"]);
StormEvents 
| where State has_any (states)
| summarize count() by State

Wyjście

Count
4775

Wyrażenie tabelaryczne

Poniższe zapytanie pokazuje, jak używać z in~ wbudowanym wyrażeniem tabelarycznym. Zwróć uwagę, że wbudowane wyrażenie tabelaryczne musi być ujęte w nawiasy podwójne.

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

Wyjście

Stan liczba_
TEKSAS 4701
ILLINOIS 2022
MISSOURI 2016
GEORGIA 1983
MINNESOTA 1881
... ...

To samo zapytanie można również napisać za pomocą instrukcji let. Zwróć uwagę, że podwójne nawiasy, jak podano w ostatnim przykładzie, nie są w tym przypadku konieczne.

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

Wyjście

Stan liczba_
TEKSAS 4701
ILLINOIS 2022
MISSOURI 2016
GEORGIA 1983
MINNESOTA 1881
... ...