다음을 통해 공유


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

마지막 예제에서는 세 개의 관련 필드가 있는 컨테이너의 기존 항목을 사용합니다.

[
  {
    "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"
  }
]

설명

  • 이 함수는 하나의 기반 목록 인덱싱을 사용합니다. 목록의 첫 번째 항목은 0 대신 1 숫자 인덱스를 사용하여 참조됩니다.
  • 이 함수는 인덱스를 활용하지 않습니다.

참고 항목