ARRAY_SLICE (dotaz NoSQL)
PLATÍ PRO: NoSQL
Vrátí podmnožinu výrazu pole pomocí zadaného indexu a délky.
Syntaxe
ARRAY_SLICE(<array_expr>, <numeric_expr_1> [, <numeric_expr_2>])
Argumenty
Popis | |
---|---|
array_expr |
Maticový výraz. |
numeric_expr_1 |
Číselný výraz označující index, kde má začínat pole pro podmnožinu. Volitelně lze záporné hodnoty použít k určení počátečního indexu vzhledem k poslednímu prvku pole. |
numeric_expr_2 (Volitelné) |
Volitelný číselný výraz označující maximální délku prvků ve výsledném poli. |
Návratové typy
Vrátí maticový výraz.
Příklady
Následující příklad ukazuje, jak pomocí funkce získat různé řezy pole.
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]
}
]
Poznámky
- Tato systémová funkce nepoužívá index.