Freigeben über


ARRAY_SLICE (NoSQL-Abfrage)

GILT FÜR: NoSQL

Gibt eine Teilmenge eines Arrayausdrucks unter Verwendung des angegebenen Indexes und der angegebenen Länge zurück.

Syntax

ARRAY_SLICE(<array_expr>, <numeric_expr_1> [, <numeric_expr_2>])  

Argumente

BESCHREIBUNG
array_expr Ein Arrayausdruck.
numeric_expr_1 Ein numerischer Ausdruck, der den Index angibt, an dem das Array für die Teilmenge beginnen soll. Optional können auch negative Werte verwendet werden, um den Startindex relativ zum letzten Element des Arrays anzugeben.
numeric_expr_2(Optional) Ein optionaler numerischer Ausdruck, der die maximale Länge von Elementen im resultierenden Array angibt.

Rückgabetypen

Gibt einen Arrayausdruck zurück.

Beispiele

Das folgende Beispiel zeigt, wie Sie mit der Funktion verschiedene Slices eines Arrays abgerufen können.

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

Bemerkungen

  • Diese Systemfunktion verwendet den Index nicht.