operator in~
Dotyczy: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
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
Gdy jest używanych więcej niż 128 terminów wyszukiwania, optymalizacja wyszukiwania indeksu tekstowego jest wyłączona, co może prowadzić do zmniejszenia wydajności zapytań.
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
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 |
... | ... |