Fonction array_insert

S’applique à :coche marquée oui Databricks SQL case marquée oui Databricks Runtime 13.3 LTS et versions ultérieures

Retourne un développé arrayelem est inséré à la index position.

Syntaxe

array_insert(array, index, elem)

Arguments

  • array : un tableau.
  • index : expression INTEGER non nulle spécifiant où insérer elem. Si l’index est négatif, elem est inséré par rapport à la fin du tableau.
  • elem : expression du même type que les éléments de array.

Retours

Un tableau du même type que array.

Azure Databricks déclenche INVALID_INDEX_OF_ZERO si index est 0.

Azure Databricks déclenche COLLECTION_SIZE_LIMIT_EXCEEDED si le résultat dépasse la limite de taille du tableau.

Notes

Tous les éléments commençant par index sont décalés d’une position afin de faire de l’espace pour elem à index. Si index est en dehors de la cardinalité de array, le tableau est rempli avec des NULL.

Conditions d’erreur courantes

Exemples

> 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"]