array_insert fungsi

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime 13.3 LTS ke atas

Mengembalikan bentuk array yang diperluas, di mana elem disisipkan pada posisi index.

Sintaks

array_insert(array, index, elem)

Argumen

  • array: ARRAY.
  • index: Ekspresi BILANGAN BULAT bukan nol yang menentukan tempat menyisipkan elem. Jika indeks negatif elem disisipkan relatif terhadap akhir array.
  • elem: Ekspresi dengan jenis yang sama dengan elemen array.

Mengembalikan

ARRAY dari jenis yang sama dengan array.

Azure Databricks menaikkan INVALID_INDEX_OF_ZERO jika index adalah 0.

Azure Databricks menaikkan COLLECTION_SIZE_LIMIT_EXCEEDED jika hasilnya melebihi batas ukuran array.

Catatan

Semua elemen yang dimulai dengan index digeser oleh satu posisi untuk membuat ruang untuk elem di index. Jika index berada di luar kardinalitas array array diisi dengan NULLs.

Kondisi kesalahan umum

Contoh

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