Freigeben über


CHOOSE (NoSQL-Abfrage)

GILT FÜR: NoSQL

Gibt den Ausdruck am angegebenen Index einer Liste oder undefined zurück, wenn der Index die Grenzen der Liste überschreitet.

Syntax

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

Argumente

BESCHREIBUNG
numeric_expr Ein numerischer Ausdruck, der den Index angibt, für den ein bestimmter Ausdruck in der Liste abgerufen wird. Der Startindex der Liste ist 1.
expr_1 Der erste Ausdruck in der Liste.
expr_N(Optional) Optionaler Ausdruck, der eine variable Anzahl von Ausdrücken bis zum N-ten Element in der Liste enthalten kann.

Rückgabetypen

Gibt einen Ausdruck zurück, der von einem beliebigen Typ sein kann.

Beispiele

Im folgenden Beispiel wird eine statische Liste verwendet, um verschiedene Rückgabewerte bei unterschiedlichen Indizes zu veranschaulichen.

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

In diesem Beispiel wird eine statische Liste verwendet, um verschiedene Rückgabewerte bei unterschiedlichen Indizes zu veranschaulichen.

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

In diesem letzten Beispiel wird ein vorhandenes Element in einem Container mit drei relevanten Feldern verwendet.

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

In diesem Beispiel wird ein Ausdruck aus den vorhandenen Pfaden im Element ausgewählt.

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

Bemerkungen

  • Diese Funktion verwendet eine 1-basierende Listenindizierung. Auf das erste Element in der Liste wird über den numerischen Index 1 (nicht 0) verwiesen.
  • Der Index wird von dieser Funktion nicht verwendet.

Weitere Informationen