ARRAY_SLICE (NoSQL-fråga)
GÄLLER FÖR: NoSQL
Returnerar en delmängd av ett matrisuttryck med hjälp av det angivna indexet och längden.
Syntax
ARRAY_SLICE(<array_expr>, <numeric_expr_1> [, <numeric_expr_2>])
Argument
beskrivning | |
---|---|
array_expr |
Ett matrisuttryck. |
numeric_expr_1 |
Ett numeriskt uttryck som anger indexet där matrisen för delmängden ska startas. Du kan också använda negativa värden för att ange startindexet i förhållande till det sista elementet i matrisen. |
numeric_expr_2 (Valfritt) |
Ett valfritt numeriskt uttryck som anger den maximala längden på elementen i den resulterande matrisen. |
Returtyper
Returnerar ett matrisuttryck.
Exempel
I följande exempel visas hur du hämtar olika sektorer av en matris med hjälp av funktionen.
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]
}
]
Kommentarer
- Den här systemfunktionen använder inte indexet.