ARRAY_SLICE (consulta NoSQL)
APLICA-SE A: NoSQL
Retorna um subconjunto de uma expressão de matriz usando o índice e o comprimento especificados.
Sintaxe
ARRAY_SLICE(<array_expr>, <numeric_expr_1> [, <numeric_expr_2>])
Argumentos
Description | |
---|---|
array_expr |
Uma expressão de matriz. |
numeric_expr_1 |
Uma expressão numérica que indica o índice onde começar a matriz para o subconjunto. Opcionalmente, valores negativos podem ser usados para especificar o índice inicial relativo ao último elemento da matriz. |
numeric_expr_2 (Opcional) |
Uma expressão numérica opcional que indica o comprimento máximo dos elementos na matriz resultante. |
Tipos de devolução
Retorna uma expressão de matriz.
Exemplos
O exemplo a seguir mostra como obter diferentes fatias de uma matriz usando a função.
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]
}
]
Observações
- Esta função do sistema não usa o índice.