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]
  }
]

備註

  • 此系統函式不會使用索引。