Sdílet prostřednictvím


CHOOSE (dotaz NoSQL)

PLATÍ PRO: NoSQL

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

Syntaxe

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

Argumenty

Popis
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é) Volitelný výraz[s], který může obsahovat proměnlivý počet výrazů až do Ntéto položky v seznamu.

Návratové typy

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

Příklady

Následující příklad používá statický seznam k předvedení různých návratových hodnot v různých indexech.

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

Tento příklad používá statický seznam k předvedení různých návratových hodnot v různých indexech.

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

V posledním příkladu se používá existující položka v kontejneru se třemi relevantními poli.

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

Tento příklad vybere výraz z existujících cest v položce.

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

Poznámky

  • Tato funkce používá indexování seznamu podle jednoho. Na první položku v seznamu se odkazuje pomocí číselného indexu 1 místo 0.
  • Tato funkce nevyužívá index.

Viz také