[ ]
Operatore (segno tra parentesi quadre)
Si applica a: Databricks SQL Databricks Runtime
Restituisce un elemento di matrice o un valore della mappa in base a un indice o a una chiave.
Sintassi
expr [ keyExpr ]
Si noti che l'uso delle parentesi quadre qui è come testo letterale e non indica la sintassi facoltativa.
Argomenti
expr
: espressione ARRAY o MAP.keyExpr
: seexpr
è una matrice numerica integrale. In caso contrario, un'espressione corrispondente al tipo della chiave dell'oggetto MAP.
Valori restituiti
Il tipo di risultato è il tipo di elemento dell'array o il tipo di valore dell'oggetto MAP.
Il primo elemento di una matrice è in corrispondenza dell'indice 0.
Se non keyExpr
è una chiave valida per MAP expr
Azure Databricks restituisce null.
Se l'oggetto keyExpr
non è associato per ARRAY expr
Azure Databricks genera un errore di INVALID_ARRAY_INDEX.
Nota
In Databricks Runtime, se spark.sql.ansi.enabled è false
, l'operatore restituisce NULL
anziché un errore out of bounds.
Esempi
> SELECT a[2] FROM VALUES(array(10, 20, 30)) AS T(a);
30
> SELECT m[1] FROM VALUES(map(1, 'Hello', 2, 'World')) AS T(m);
Hello