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
(nicht0
) verwiesen. - Der Index wird von dieser Funktion nicht verwendet.