ARRAY_SLICE (NoSQL 查詢)
適用于: NoSQL
使用指定的索引和長度,傳回陣列運算式的子集。
語法
ARRAY_SLICE(<array_expr>, <numeric_expr_1> [, <numeric_expr_2>])
引數
描述 | |
---|---|
array_expr |
陣列運算式。 |
numeric_expr_1 |
數值運算式,表示要開始子集陣列的位置。 選擇性地,負值可用來指定相對於陣列最後一個專案的起始索引。 |
numeric_expr_2 (選擇性) |
選擇性數值運算式,指出產生的陣列中元素的最大長度。 |
傳回類型
傳回陣列運算式。
範例
下列範例示範如何使用 函式取得陣列的不同配量。
SELECT VALUE {
sliceFromStart: ARRAY_SLICE([70, 86, 92, 99, 85, 90, 82], 0),
sliceFromSecond: ARRAY_SLICE([70, 86, 92, 99, 85, 90, 82], 1),
sliceFromLast: ARRAY_SLICE([70, 86, 92, 99, 85, 90, 82], -1),
sliceFromSecondToLast: ARRAY_SLICE([70, 86, 92, 99, 85, 90, 82], -2),
sliceThreeFromStart: ARRAY_SLICE([70, 86, 92, 99, 85, 90, 82], 0, 3),
sliceTwelveFromStart: ARRAY_SLICE([70, 86, 92, 99, 85, 90, 82], 0, 12),
sliceFiveFromThird: ARRAY_SLICE([70, 86, 92, 99, 85, 90, 82], 3, 5),
sliceOneFromSecondToLast: ARRAY_SLICE([70, 86, 92, 99, 85, 90, 82], -2, 1)
}
[
{
"sliceFromStart": [70, 86, 92, 99, 85, 90, 82],
"sliceFromSecond": [86, 92, 99, 85, 90, 82],
"sliceFromLast": [82],
"sliceFromSecondToLast": [90, 82],
"sliceThreeFromStart": [70, 86, 92],
"sliceTwelveFromStart": [70, 86, 92, 99, 85, 90, 82],
"sliceFiveFromThird": [99, 85, 90, 82],
"sliceOneFromSecondToLast": [90]
}
]
備註
- 此系統函式不會使用索引。