array_insert 函数

适用于:勾选“是” Databricks SQL 勾选“是” Databricks Runtime 13.3 LTS 及更高版本

返回一个展开的 array,其中的 elem 插入到 index 位置。

语法

array_insert(array, index, elem)

参数

  • array:一个 ARRAY。
  • index:一个指定在何处插入 elem 的非零 INTEGER 表达式。 如果 index 为负数,则在相对于数组末尾的位置插入 elem
  • elem:类型与 array 的元素相同的表达式。

返回

array 类型相同的 ARRAY。

说明

所有以 index 开头的元素都移动一个位置,以便在 index 处为 elem 腾出空间。 如果 indexarray 的基数之外,则用 NULL 填充数组。

示例

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

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

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