Condividi tramite


Funzione array_insert

Si applica a:segno di spunta sì Databricks SQL segno di spunta sì Databricks Runtime 13.3 LTS e versioni successive

Restituisce un array espanso in cui elem viene inserito nella posizione index.

Sintassi

array_insert(array, index, elem)

Argomenti

  • array: array.
  • index: espressione INTEGER diversa da zero che specifica dove inserire elem. Se l'indice è negativo elem viene inserito rispetto alla fine della matrice.
  • elem: espressione dello stesso tipo degli elementi di array.

Valori restituiti

Un array dello stesso tipo di array.

Azure Databricks genera INVALID_INDEX_OF_ZERO se index è 0.

Azure Databricks genera COLLECTION_SIZE_LIMIT_EXCEEDED se il risultato supera il limite di dimensioni della matrice.

Note

Tutti gli elementi che iniziano con index vengono spostati di una posizione per fare spazio per elem in index. Se index è al di fuori della cardinalità di array, l'array viene riempito con NULLs.

Condizioni di errore comuni

Esempi

> SELECT array_insert(array('a', 'b', 'c'), 1, 'z');
 ["z","a","b","c"]

> SELECT array_insert(array('a', 'b', 'c'), 0, 'z');
 Error: INVALID_INDEX_OF_ZERO

> SELECT array_insert(array('a', 'b', 'c'), -1, 'z');
 ["a","b","c","z"]

> SELECT array_insert(array('a', 'b', 'c'), 5, 'z');
 ["a","b","c",NULL,"z"]

> SELECT array_insert(array('a', 'b', 'c'), -5, 'z');
 ["z",NULL,"a","b","c"]

> SELECT array_insert(array('a', 'b', 'c'), 2, cast(NULL AS STRING));
 ["a",NULL,"b","c"]