跳到主要内容

ARRAY_SLICE

功能

返回数组的子片段,支持起始偏移与长度。

语法

  • ARRAY_SLICE(arr, offset)
  • ARRAY_SLICE(arr, offset, length)

参数

  • arrARRAY<T>
  • offset:表示起点。正数从头部计数(1 表示第一个元素),负数从尾部计数(-1 表示最后一个元素)。
  • length:表示长度。为正表示取 length 个元素;为负表示长度为 0。

返回值

  • 返回与输入同类型的 ARRAY<T>

使用说明

  • 越界安全:起点与终点会被裁剪到数组边界以内,若无重叠则返回空数组。

示例

  • 指定正数起点:从起点直到左侧末尾

    • ARRAY_SLICE([1,2,3,4,5,6], 2) -> [2,3,4,5,6]
  • 指定负数起点:从起点直到左侧末尾

    • ARRAY_SLICE([1,2,3,4,5,6], -3) -> [4,5,6]
  • 指定正数长度,从起点向右取

    • ARRAY_SLICE([1,2,3,4,5,6], 2, 3) -> [2,3,4]
    • ARRAY_SLICE([1,2,3,4,5,6], -4, 2) -> [3,4]
  • 指定负数长度,认为长度为 0

    • ARRAY_SLICE([1,2,3,4,5,6], 2, -2) -> []
  • 参数越界,返回空数组

    • ARRAY_SLICE([1,2,3,4,5,6], 10, 3) -> []
  • 参数为 NULL,返回 NULL

    • ARRAY_SLICE([1,2,3], NULL, 2) -> NULL
    • ARRAY_SLICE([1,2,3], 2, NULL) -> NULL
    • ARRAY_SLICE(NULL, 2, 3) -> NULL