Compartilhar via


CHOOSE (consulta NoSQL)

APLICA-SE A: NoSQL

Retorna a expressão no índice especificado de uma lista ou Indefinido se o índice exceder os limites da lista.

Sintaxe

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

Argumentos

Descrição
numeric_expr Uma expressão numérica que especifica o índice usado para obter uma expressão específica na lista. O índice inicial da lista é 1.
expr_1 A primeira expressão na lista.
expr_N(Opcional) Expressão(ões) opcional(is), que pode (m) conter um número variável de expressões até o Nº item na lista.

Tipos de retorno

Retorna uma expressão, que pode ser de qualquer tipo.

Exemplos

O exemplo a seguir utiliza uma lista estática para demonstrar os vários valores de retorno em diferentes índices.

SELECT VALUE 
    CHOOSE(1, "adventure", "works", true, [1])
[
  "adventure"
]

Esse exemplo usa uma lista estática para demonstrar vários valores de retorno em diferentes índices.

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

Este exemplo final usa um item existente em um contêiner com três campos relevantes.

[
  {
    "name": "Gremon Fins",
    "sku": "73311",
    "tags": [
      "Science Blue",
      "Turbo"
    ],
    "category": "short-fins"
  }
]

Este exemplo seleciona uma expressão de caminhos existentes no item.

SELECT
    CHOOSE(3, p.category, p.name, p.sku) AS barcode
FROM
    products p
WHERE
    p.category = "short-fins"
[
  {
    "barcode": "73311"
  }
]

Comentários

  • Essa função usa a indexação de lista baseada em um. O primeiro item da lista é referenciado usando o índice numérico 1 em vez de 0.
  • Essa função não utiliza o índice.

Confira também