Condividi tramite


ARRAY_SLICE (query NoSQL)

SI APPLICA A: NoSQL

Restituisce un subset di un'espressione di matrice utilizzando l'indice e la lunghezza specificati.

Sintassi

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

Argomenti

Descrizione
array_expr Espressione di matrice.
numeric_expr_1 Espressione numerica che indica l'indice in cui iniziare la matrice per il subset. Facoltativamente, è possibile usare valori negativi per specificare l'indice iniziale rispetto all'ultimo elemento della matrice.
numeric_expr_2(opzionale) Espressione numerica facoltativa che indica la lunghezza massima degli elementi nella matrice risultante.

Tipi restituiti

Restituisce un'espressione di matrice.

Esempi

Nell'esempio seguente viene illustrato come ottenere sezioni diverse di una matrice usando la funzione .

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

Osservazioni:

  • Questa funzione di sistema non usa l'indice.