ARRAY_SLICE関数は、指定されたインデックスと長さを使用して配列式のサブセットを返します。
構文
ARRAY_SLICE(<array_expr>, <numeric_expr_1> [, <numeric_expr_2>])
論争
| 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"
]
}
]
注釈
- この関数では、インデックスは使用されません。