Share via


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.