ARRAY_SLICE (NoSQL-query)
VAN TOEPASSING OP: NoSQL
Retourneert een subset van een matrixexpressie met behulp van de opgegeven index en lengte.
Syntaxis
ARRAY_SLICE(<array_expr>, <numeric_expr_1> [, <numeric_expr_2>])
Argumenten
Beschrijving | |
---|---|
array_expr |
Een matrixexpressie. |
numeric_expr_1 |
Een numerieke expressie die de index aangeeft waar de matrix voor de subset moet worden gestart. Optioneel kunnen negatieve waarden worden gebruikt om de beginindex op te geven ten opzichte van het laatste element van de matrix. |
numeric_expr_2 (Optioneel) |
Een optionele numerieke expressie die de maximale lengte van elementen in de resulterende matrix aangeeft. |
Retourtypen
Hiermee wordt een matrixexpressie geretourneerd.
Voorbeelden
In het volgende voorbeeld ziet u hoe u verschillende segmenten van een matrix kunt ophalen met behulp van de functie.
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]
}
]
Opmerkingen
- Deze systeemfunctie gebruikt de index niet.