CHOOSE (NoSQL 查詢)
適用於:NoSQL
傳回位於清單指定索引處的表達式,如果索引超過清單的界限,則傳回 Undefined。
語法
CHOOSE(<numeric_expr>, <expr_1> [, <expr_N>])
引數
描述 | |
---|---|
numeric_expr |
數值表達式,指定用來取得清單中特定表達式的索引。 清單的起始索引為 1 。 |
expr_1 |
清單中的第一個表達式。 |
expr_N (選擇性) |
選擇性 expression[s],可包含最多 N 清單中第一個專案的變數表達式數目。 |
傳回類型
傳回表達式,其可以是任何類型。
範例
下列範例會使用靜態清單來示範不同索引的各種傳回值。
SELECT VALUE
CHOOSE(1, "adventure", "works", true, [1])
[
"adventure"
]
此範例會使用靜態清單來示範不同索引的各種傳回值。
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
]
}
]
這個最後一個範例會使用容器中具有三個相關欄位的現有專案。
[
{
"name": "Gremon Fins",
"sku": "73311",
"tags": [
"Science Blue",
"Turbo"
],
"category": "short-fins"
}
]
此範例會從專案的現有路徑中選取表達式。
SELECT
CHOOSE(3, p.category, p.name, p.sku) AS barcode
FROM
products p
WHERE
p.category = "short-fins"
[
{
"barcode": "73311"
}
]
備註
- 此函式會使用單一式清單索引。 清單中的第一個專案是使用數值索引
1
來參考,而不是0
。 - 此函式不會使用索引。