Sdílet prostřednictvím


CHOOSE – Dotazovací jazyk ve službě Cosmos DB (v Azure a prostředcích infrastruktury)

Funkce CHOOSE vrátí výraz na zadaném indexu seznamu nebo Nedefinováno, pokud index překročí hranice seznamu.

Syntaxe

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

Arguments

Description
numeric_expr Číselný výraz, který určuje index použitý k získání konkrétního výrazu v seznamu. Počáteční index seznamu je 1.
expr_1 První výraz v seznamu.
expr_N Volitelné výrazy, které mohou obsahovat proměnlivý počet výrazů až do Nth položky v seznamu.

Návratové typy

Vrátí výraz, který může být libovolného typu.

Examples

Tato část obsahuje příklady použití tohoto konstruktoru dotazovacího jazyka.

Pro tyto příklady zvažte tuto ukázkovou sadu dokumentů v Products kolekci.

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

Výběr ze seznamu

V tomto příkladu CHOOSE se funkce používá k výběru hodnoty indexu 1.

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

Zvolit podle indexu

V tomto příkladu CHOOSE se funkce používá k výběru hodnot v různých indexech.

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

Zvolit pole z produktu

V tomto příkladu CHOOSE se funkce používá k výběru třetího pole z produktů v kategorii "short-fins".

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

Poznámky

  • Tato funkce nevyužívá index.
  • Tato funkce používá jednoúrovňové indexování, což znamená, že první položka v seznamu je v indexu 1 místo typického indexování založeného na nule nalezených v mnoha programovacích jazycích.