Condividi tramite


CHOOSE (query NoSQL)

SI APPLICA A: NoSQL

Restituisce l'espressione in corrispondenza dell'indice specificato di un elenco o Undefined se l'indice supera i limiti dell'elenco.

Sintassi

CHOOSE(<numeric_expr>, <expr_1> [, <expr_N>])

Argomenti

Descrizione
numeric_expr Espressione numerica, che specifica l'indice utilizzato per ottenere un'espressione specifica nell'elenco. L'indice iniziale dell'elenco è 1.
expr_1 Prima espressione nell'elenco.
expr_N(opzionale) Espressione facoltativa[s], che può contenere un numero variabile di espressioni fino al Nprimo elemento nell'elenco.

Tipi restituiti

Restituisce un'espressione, che può essere di qualsiasi tipo.

Esempi

Nell'esempio seguente viene usato un elenco statico per illustrare vari valori restituiti in indici diversi.

SELECT VALUE 
    CHOOSE(1, "adventure", "works", true, [1])
[
  "adventure"
]

In questo esempio viene usato un elenco statico per illustrare vari valori restituiti in indici diversi.

SELECT VALUE {
    index_0: CHOOSE(0, "abc", 1, true, [1]),
    index_1: CHOOSE(1, "abc", 1, true, [1]),
    index_2: CHOOSE(2, "abc", 1, true, [1]),
    index_3: CHOOSE(3, "abc", 1, true, [1]),
    index_4: CHOOSE(4, "abc", 1, true, [1]),
    index_5: CHOOSE(5, "abc", 1, true, [1])
}
[
  {
    "index_1": "abc",
    "index_2": 1,
    "index_3": true,
    "index_4": [
      1
    ]
  }
]

Questo esempio finale usa un elemento esistente in un contenitore con tre campi pertinenti.

[
  {
    "name": "Gremon Fins",
    "sku": "73311",
    "tags": [
      "Science Blue",
      "Turbo"
    ],
    "category": "short-fins"
  }
]

In questo esempio viene selezionata un'espressione dai percorsi esistenti nell'elemento.

SELECT
    CHOOSE(3, p.category, p.name, p.sku) AS barcode
FROM
    products p
WHERE
    p.category = "short-fins"
[
  {
    "barcode": "73311"
  }
]

Osservazioni:

  • Questa funzione usa l'indicizzazione di un elenco in base uno. Viene fatto riferimento al primo elemento dell'elenco usando l'indice 1 numerico anziché 0.
  • Questa funzione non usa l'indice.

Vedi anche