Condividi tramite


[ ] Operatore (segno tra parentesi quadre)

Si applica a: segno di spunta sì Databricks SQL segno di spunta sì 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: se expr è 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