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

注釈

  • このシステム関数で、インデックスは使用されません。