适用于:
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 开头的元素都移动一个位置,以便在 elem 处为 index 腾出空间。
如果 index 在 array 的基数之外,则用 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"]