共用方式為


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
  • 此函式不會使用索引。

另請參閱