Operatore in~

Filtra un set di record per i dati con una stringa senza distinzione tra maiuscole e minuscole.

La tabella seguente fornisce un confronto degli in operatori:

Operatore Descrizione Distinzione maiuscole/minuscole Esempio (restituisce true)
in È uguale a uno degli elementi "abc" in ("123", "345", "abc")
!in Non è uguale a nessuno degli elementi "bca" !in ("123", "345", "abc")
in~ Uguale a uno degli elementi No "Abc" in~ ("123", "345", "abc")
!in~ Non è uguale a nessuno degli elementi No "bCa" !in~ ("123", "345", "ABC")

Nota

Le matrici annidati vengono appiattite in un singolo elenco di valori. Ad esempio x in (dynamic([1,[2,3]])) diventa x in (1,2,3).

Per altre informazioni sugli altri operatori e per determinare quale operatore è più appropriato per la query, vedere operatori di stringhe di tipo di dati.

Gli operatori senza distinzione tra maiuscole e minuscole sono attualmente supportati solo per il testo ASCII. Per il confronto non ASCII, usare la funzione tolower().

Suggerimenti per incrementare le prestazioni

Nota

Le prestazioni dipendono dal tipo di ricerca e dalla struttura dei dati. Per le procedure consigliate, vedere Procedure consigliate per le query.

Se possibile, usare la distinzione tra maiuscole e minuscole.

Sintassi

T|whereColonnelloin~(Espressione, ... )

Altre informazioni sulle convenzioni di sintassi.

Parametri

Nome Tipo Obbligatoria Descrizione
T string ✔️ Input tabulare da filtrare.
col string ✔️ Colonna da cui filtrare.
expression scalare o tabulare ✔️ Espressione che specifica i valori per cui eseguire la ricerca. Ogni espressione può essere un valore scalare o un'espressione tabulare che produce un set di valori. Se un'espressione tabulare include più colonne, viene usata la prima colonna. La ricerca considererà fino a 1.000.000 valori distinti.

Restituisce

Righe in T per cui il predicato è true.

Esempi

Elenco di scalari

La query seguente illustra come usare in~ con un elenco delimitato da virgole di valori scalari.

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

Output

Conteggio
4775

Matrice dinamica

La query seguente illustra come usare in~ con una matrice dinamica.

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

Output

Conteggio
4775

La stessa query può essere scritta anche con un'istruzione let.

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

Output

Conteggio
4775

Espressione tabulare

La query seguente illustra come usare in~ con un'espressione tabulare inline. Si noti che un'espressione tabulare inline deve essere racchiusa tra parentesi doppie.

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

Output

State count_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GEORGIA 1983
MINNESOTA 1881
... ...

La stessa query può essere scritta anche con un'istruzione let. Si noti che le parentesi doppie, come indicato nell'ultimo esempio, non sono necessarie in questo caso.

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

Output

State count_
TEXAS 4701
ILLINOIS 2022
MISSOURI 2016
GEORGIA 1983
MINNESOTA 1881
... ...