Delen via


CHOOSE - Querytaal in Cosmos DB (in Azure en Fabric)

De CHOOSE functie retourneert de expressie in de opgegeven index van een lijst of undefined als de index de grenzen van de lijst overschrijdt.

Syntaxis

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

Arguments

Description
numeric_expr Een numerieke expressie, waarmee de index wordt opgegeven die wordt gebruikt om een specifieke expressie in de lijst op te halen. De beginindex van de lijst is 1.
expr_1 De eerste expressie in de lijst.
expr_N Optionele expressie(s), die een variabel aantal expressies tot aan het Nde item in de lijst kunnen bevatten.

Retourtypen

Retourneert een expressie, die van elk type kan zijn.

Voorbeelden

Deze sectie bevat voorbeelden van het gebruik van deze querytaalconstructie.

Bekijk deze voorbeeldset documenten in de Products verzameling voor deze voorbeelden.

[
  {
    "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"
  }
]

Kiezen uit een lijst

In dit voorbeeld wordt de CHOOSE functie gebruikt om de waarde bij index 1 te selecteren.

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

Kiezen op index

In dit voorbeeld wordt de CHOOSE functie gebruikt om waarden in verschillende indexen te selecteren.

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

Opmerking

In dit voorbeeld index_0 worden ze index_5 weggelaten uit de uitvoer, omdat CHOOSE deze retourneert undefined voor indexen buiten het bereik en eigenschappen met undefined waarden niet zijn opgenomen in JSON-objecten.

Veld kiezen uit product

In dit voorbeeld wordt de CHOOSE functie gebruikt om het derde veld te selecteren uit producten in de gear-hike-hydration-packs categorie.

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

Opmerkingen

  • Deze functie maakt geen gebruik van de index.
  • Deze functie maakt gebruik van indexering op basis van één, wat betekent dat het eerste item in de lijst zich in de index 1 bevindt in plaats van de typische op nul gebaseerde indexering in veel programmeertalen.
  • Als de index buiten het bereik valt, retourneert undefinedde functie . Bij het maken van een object worden eigenschappen met undefined waarden weggelaten uit het resultaat.