CHOOSE - Bahasa kueri di Cosmos DB (di Azure dan Fabric)

Fungsi mengembalikan CHOOSE ekspresi pada indeks daftar yang ditentukan, atau undefined jika indeks melebihi batas daftar.

Syntax

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

Arguments

Description
numeric_expr Ekspresi numerik, yang menentukan indeks yang digunakan untuk mendapatkan ekspresi tertentu dalam daftar. Indeks awal daftar adalah 1.
expr_1 Ekspresi pertama dalam daftar.
expr_N Ekspresi opsional, yang dapat berisi jumlah variabel ekspresi hingga item Nth dalam daftar.

Tipe pengembalian

Mengembalikan ekspresi, yang bisa dari jenis apa pun.

Examples

Bagian ini berisi contoh cara menggunakan konstruksi bahasa kueri ini.

Pertimbangkan kumpulan sampel dokumen ini dalam Products koleksi untuk contoh-contoh ini.

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

Pilih dari daftar

Dalam contoh ini, CHOOSE fungsi digunakan untuk memilih nilai pada indeks 1.

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

Pilih menurut indeks

Dalam contoh ini, CHOOSE fungsi digunakan untuk memilih nilai pada indeks yang berbeda.

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

Dalam contoh ini, index_0 dan index_5 dihilangkan dari output karena CHOOSE mengembalikan undefined indeks di luar rentang, dan properti dengan undefined nilai tidak disertakan dalam objek JSON.

Pilih bidang dari produk

Dalam contoh ini, CHOOSE fungsi digunakan untuk memilih bidang ketiga dari produk dalam gear-hike-hydration-packs kategori.

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

Komentar

  • Fungsi ini tidak menggunakan indeks.
  • Fungsi ini menggunakan pengindeksan berbasis satu, yang berarti bahwa item pertama dalam daftar berada di indeks 1 alih-alih pengindeksan berbasis nol biasa yang ditemukan dalam banyak bahasa pemrograman.
  • Jika indeks berada di luar rentang, fungsi akan mengembalikan undefined. Saat membuat objek, properti dengan undefined nilai dihilangkan dari hasilnya.