operátor in~
Platí pro: ✅Microsoft Fabric✅Azure Data Explorer✅Azure Monitor✅Microsoft Sentinel
Filtruje sadu záznamů pro data pomocí řetězce nerozlišujícího velká a malá písmena.
Následující tabulka obsahuje porovnání in
operátorů:
Operátor | Popis | Rozlišovat malá a velká písmena | Příklad (výnosy true ) |
---|---|---|---|
in |
Rovná se jednomu z prvků. | Ano | "abc" in ("123", "345", "abc") |
!in |
Nerovná se žádnému z prvků. | Ano | "bca" !in ("123", "345", "abc") |
in~ |
Rovná se některému z prvků. | No | "Abc" in~ ("123", "345", "abc") |
!in~ |
Nerovná se žádnému z prvků. | No | "bCa" !in~ ("123", "345", "ABC") |
Poznámka:
Vnořené matice jsou zploštěny do jednoho seznamu hodnot. Například z x in (dynamic([1,[2,3]]))
se stane x in (1,2,3)
.
Další informace o jiných operátorech a určení, který operátor je pro váš dotaz nejvhodnější, najdete v tématu operátory řetězce datového typu.
Operátory nerozlišující malá a velká písmena se v současné době podporují jenom pro text ASCII. Pro porovnání jiného typu než ASCII použijte funkci tolower().
Tipy týkající se výkonu
Poznámka:
Pokud se používá více než 128 hledaných termínů, je optimalizace vyhledávání v textovém indexu zakázaná, což může vést ke snížení výkonu dotazů.
Poznámka:
Výkon závisí na typu vyhledávání a struktuře dat. Osvědčené postupy najdete v tématu Osvědčené postupy pro dotazy.
Pokud je to možné, použijte velká a malá písmena.
Syntaxe
Výraz T |
where
col ... in~
(
,
)
Přečtěte si další informace o konvencích syntaxe.
Parametry
Název | Type | Požadováno | Popis |
---|---|---|---|
T | string |
✔️ | Tabulkový vstup pro filtrování. |
průsmyk | string |
✔️ | Sloupec, podle kterého chcete filtrovat. |
výraz | skalární nebo tabulkový | ✔️ | Výraz, který určuje hodnoty, pro které se mají hledat. Každý výraz může být skalární hodnota nebo tabulkový výraz , který vytváří sadu hodnot. Pokud má tabulkový výraz více sloupců, použije se první sloupec. Hledání bude zvažovat až 1 000 000 jedinečných hodnot. |
Návraty
Řádky v T , pro které je true
predikát .
Příklady
Seznam skalárů
Následující dotaz ukazuje, jak se používá in~
se seznamem skalárních hodnot oddělených čárkami.
StormEvents
| where State in~ ("FLORIDA", "georgia", "NEW YORK")
| count
Výstup
Počet |
---|
4775 |
Dynamické pole
Následující dotaz ukazuje, jak se používá in~
s dynamickým polem.
StormEvents
| where State in~ (dynamic(["FLORIDA", "georgia", "NEW YORK"]))
| count
Výstup
Počet |
---|
4775 |
Stejný dotaz lze také napsat pomocí příkazu let.
let states = dynamic(["FLORIDA", "georgia", "NEW YORK"]);
StormEvents
| where State has_any (states)
| summarize count() by State
Výstup
Počet |
---|
4775 |
Tabulkový výraz
Následující dotaz ukazuje, jak se používá in~
s vloženým tabulkovým výrazem. Všimněte si, že vložený tabulkový výraz musí být uzavřený s dvojitými závorky.
StormEvents
| where State in~ (PopulationData | where Population > 5000000 | project State)
| summarize count() by State
Výstup
State | COUNT |
---|---|
TEXAS | 4701 |
ILLINOIS | 2022 |
MISSOURI | 2016 |
GEORGIA | 1983 |
MINNESOTA | 1881 |
... | ... |
Stejný dotaz lze také napsat pomocí příkazu let. Všimněte si, že v tomto případě nejsou dvojité závorky uvedené v posledním příkladu nezbytné.
let large_states = PopulationData | where Population > 5000000 | project State;
StormEvents
| where State in~ (large_states)
| summarize count() by State
Výstup
State | COUNT |
---|---|
TEXAS | 4701 |
ILLINOIS | 2022 |
MISSOURI | 2016 |
GEORGIA | 1983 |
MINNESOTA | 1881 |
... | ... |