跳到主要内容

ARRAY_SLICE

引入或更新于:v1.2.762

使用起始和结束参数提取子数组切片。

语法

ARRAY_SLICE(array, start, end)

参数

参数描述
array要提取切片的源数组。
start切片的起始位置(包含)。
end切片的结束位置(不包含)。

返回类型

数组(原始数组的切片)。

关于索引的重要说明

  • 对于标准数组类型 (Standard Array Types):索引是 基于 1 的(第一个元素的位置是 1)。
  • 对于变体数组类型 (Variant Array Types):索引是 基于 0 的(第一个元素的位置是 0),以兼容 Snowflake。

示例

示例 1:对标准数组进行切片(基于 1 的索引)

SELECT ARRAY_SLICE([10, 20, 30, 40, 50], 2, 4);

结果:

[20, 30]

示例 2:对变体数组进行切片(基于 0 的索引)

SELECT ARRAY_SLICE(PARSE_JSON('["apple", "banana", "orange", "grape", "kiwi"]'), 1, 3);

结果:

["banana", "orange"]

示例 3:越界切片

SELECT ARRAY_SLICE([1, 2, 3], 4, 6);

结果:

[]