Compartir a través de


CHOOSE - Lenguaje de consulta en Cosmos DB (en Azure y Fabric)

La CHOOSE función devuelve la expresión en el índice especificado de una lista o undefined si el índice supera los límites de la lista.

Syntax

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

Arguments

Description
numeric_expr Expresión numérica, que especifica el índice usado para obtener una expresión específica en la lista. El índice inicial de la lista es 1.
expr_1 Primera expresión de la lista.
expr_N Expresiones opcionales, que pueden contener un número variable de expresiones hasta el nº elemento de la lista.

Tipos de retorno

Devuelve una expresión, que podría ser de cualquier tipo.

Examples

Esta sección contiene ejemplos de cómo usar esta construcción del lenguaje de consulta.

Considere este conjunto de documentos de ejemplo dentro de la Products colección para estos ejemplos.

[
  {
    "name": "Vimero Hydration Pack",
    "category": "gear",
    "sku": "69500",
    "detailCategory": "gear-hike-hydration-packs"
  },
  {
    "name": "Mt. Hood Hydration Pack",
    "category": "gear",
    "sku": "69501",
    "detailCategory": "gear-hike-hydration-packs"
  }
]

Elegir entre una lista

En este ejemplo, la CHOOSE función se usa para seleccionar el valor en el índice 1.

SELECT VALUE 
  CHOOSE(1, "Vimero", "Hydration", "Pack")
[
  "Vimero"
]

Elegir por índice

En este ejemplo, la CHOOSE función se usa para seleccionar valores en distintos índices.

SELECT VALUE {
  index_0: CHOOSE(0, "Mt.", "Hood", "Hydration", "Pack"),
  index_1: CHOOSE(1, "Mt.", "Hood", "Hydration", "Pack"),
  index_2: CHOOSE(2, "Mt.", "Hood", "Hydration", "Pack"),
  index_3: CHOOSE(3, "Mt.", "Hood", "Hydration", "Pack"),
  index_4: CHOOSE(4, "Mt.", "Hood", "Hydration", "Pack"),
  index_5: CHOOSE(5, "Mt.", "Hood", "Hydration", "Pack")
}
[
  {
    "index_1": "Mt.",
    "index_2": "Hood",
    "index_3": "Hydration",
    "index_4": "Pack"
  }
]

Nota:

En este ejemplo, index_0 y index_5 se omiten de la salida porque CHOOSE devuelve undefined los índices fuera del intervalo y las propiedades con undefined valores no se incluyen en objetos JSON.

Elegir campo del producto

En este ejemplo, la CHOOSE función se usa para seleccionar el tercer campo de los productos de la gear-hike-hydration-packs categoría.

SELECT VALUE
  CHOOSE(3, p.category, p.name, p.sku)
FROM
  products p
WHERE
  p.detailCategory = "gear-hike-hydration-packs"
[
  "69500",
  "69501"
]

Observaciones

  • Esta función no utiliza el índice.
  • Esta función usa la indexación basada en uno, lo que significa que el primer elemento de la lista está en el índice 1 en lugar de la indexación típica basada en cero que se encuentra en muchos lenguajes de programación.
  • Si el índice está fuera del intervalo, la función devuelve undefined. Al construir un objeto, las propiedades con undefined valores se omiten del resultado.