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 Case-Sensitive Przykład (wydajność 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ę dowolnej z elementów 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 na 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().

Porady 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 wielkości liter.

Składnia

T|wherePłkin~(Wyrażenie, ... )

Dowiedz się więcej o konwencjach składniowych.

Parametry

Nazwa Typ Wymagane Opis
T string ✔️ Tabelaryczne dane wejściowe do filtrowania.
Płk string ✔️ Kolumna, według której ma być filtrowane.
expression 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 , które tworzy 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 skalarnych

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

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

Dane wyjściowe

Liczba
4775

Tablica dynamiczna

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

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

Dane wyjściowe

Liczba
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

Dane wyjściowe

Liczba
4775

Wyrażenie tabelaryczne

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

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

Dane wyjściowe

Stan Liczba_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GRUZJA 1983
MINNESOTA 1881
... ...

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

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

Dane wyjściowe

Stan Liczba_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GRUZJA 1983
MINNESOTA 1881
... ...