Перейти к содержимому
Последнее обновление

ARRAY_SLICE

Назначение​

Возвращает подмассив с возможностью указать начальное смещение и длину.

Синтаксис​

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

Параметры​

  • arr: ARRAY<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