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.