Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Функция ARRAY_SLICE возвращает подмножество выражения массива с помощью указанного индекса и длины.
Синтаксис
ARRAY_SLICE(<array_expr>, <numeric_expr_1> [, <numeric_expr_2>])
Arguments
| Description | |
|---|---|
array_expr |
Выражение массива. |
numeric_expr_1 |
Числовое выражение, указывающее индекс, в котором начинается массив для подмножества. При необходимости отрицательные значения можно использовать для указания начального индекса относительно последнего элемента массива. |
numeric_expr_2 |
Необязательное числовое выражение, указывающее максимальную длину элементов в результирующем массиве. |
Типы возвращаемых данных
Возвращает выражение массива.
Примеры
В этом разделе содержатся примеры использования этой конструкции языка запросов.
Примеры среза массива
В этом примере ARRAY_SLICE функция используется для получения подмножества массива.
SELECT VALUE {
sliceFromStart: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], 0),
sliceFromSecond: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], 1),
sliceFromLast: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], -1),
sliceFromSecondToLast: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], -2),
sliceThreeFromStart: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], 0, 3),
sliceTwelveFromStart: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], 0, 12),
sliceFiveFromThird: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], 3, 5),
sliceOneFromSecondToLast: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], -2, 1)
}
[
{
"sliceFromStart": [
"Alpha",
"Bravo",
"Charlie",
"Delta",
"Echo",
"Foxtrot",
"Golf"
],
"sliceFromSecond": [
"Bravo",
"Charlie",
"Delta",
"Echo",
"Foxtrot",
"Golf"
],
"sliceFromLast": [
"Golf"
],
"sliceFromSecondToLast": [
"Foxtrot",
"Golf"
],
"sliceThreeFromStart": [
"Alpha",
"Bravo",
"Charlie"
],
"sliceTwelveFromStart": [
"Alpha",
"Bravo",
"Charlie",
"Delta",
"Echo",
"Foxtrot",
"Golf"
],
"sliceFiveFromThird": [
"Delta",
"Echo",
"Foxtrot",
"Golf"
],
"sliceOneFromSecondToLast": [
"Foxtrot"
]
}
]
Замечания
- Эта функция не использует индекс.