函數使用 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"
]
}
]
備註
- 此函式不會使用索引。