CHOOSE (NoSQL クエリ)

適用対象: NoSQL

リストの指定したインデックス位置にある式を返します。インデックスがリストの境界を超える場合は Undefined を返します。

構文

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

引数

説明
numeric_expr リスト内の特定の式を求めるために使用されるインデックスを指定する数値式。 リストの開始インデックスは 1 です。
expr_1 リスト内の最初の式。
expr_N"(省略可能)" 省略可能な式。リスト内の 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
    ]
  }
]

この最後の例では、3 つの関連フィールドを持つコンテナー内の既存の項目を使用します。

[
  {
    "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 から始まるリスト インデックス作成が使用されます。 リスト内の最初の項目を参照する際は、数値インデックス 10 の代わりに使用されます。
  • この関数で、インデックスは使用されません。

関連項目