Operatore !in
Filtra un set di record per i dati senza una stringa con distinzione tra maiuscole e minuscole.
Nella tabella seguente viene fornito un confronto degli in
operatori:
Operatore | Descrizione | Distinzione maiuscole/minuscole | Esempio (restituisce true ) |
---|---|---|---|
in |
È uguale a uno degli elementi | Sì | "abc" in ("123", "345", "abc") |
!in |
Non è uguale a nessuno degli elementi | Sì | "bca" !in ("123", "345", "abc") |
in~ |
Uguale a uno qualsiasi 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 stringa del 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.
Sintassi
T|
where
Colonnello!in
(
Espressione,
... )
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
T | string | ✓ | Input tabulare da filtrare. |
col | string | ✓ | Colonna in base alla quale filtrare. |
expression | scalare o tabulare | ✓ | Espressione che specifica i valori per i quali eseguire la ricerca. Ogni espressione può essere un valore scalare o un'espressione tabulare che produce un set di valori. Se un'espressione tabulare ha più colonne, viene utilizzata la prima colonna. La ricerca considererà fino a 1.000.000 valori distinti. |
Nota
Un'espressione tabulare inline deve essere racchiusa tra parentesi doppie. Vedere l'esempio.
Restituisce
Righe in T per cui il predicato è true
.
Esempio
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 |
---|
54291 |
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 |
---|
54291 |
La stessa query può essere scritta anche con un'istruzione let.
let states = dynamic(["FLORIDA", "GEORGIA", "NEW YORK"]);
StormEvents
| where State !in (states)
| summarize count() by State
Output
Conteggio |
---|
54291 |
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 | Conteggio |
---|---|
KANSAS | 3166 |
IOWA | 2337 |
NEBRASKA | 1766 |
OKLAHOMA | 1716 |
SOUTH DAKOTA | 1567 |
... | ... |
La stessa query può essere scritta anche con un'istruzione let. Si noti che le parentesi doppie fornite 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 | Conteggio |
---|---|
KANSAS | 3166 |
IOWA | 2337 |
NEBRASKA | 1766 |
OKLAHOMA | 1716 |
SOUTH DAKOTA | 1567 |
... | ... |
Commenti e suggerimenti
Invia e visualizza il feedback per