Udostępnij za pośrednictwem


CHOOSE (zapytanie NoSQL)

DOTYCZY: NoSQL

Zwraca wyrażenie w określonym indeksie listy lub Niezdefiniowane, jeśli indeks przekracza granice listy.

Składnia

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

Argumenty

opis
numeric_expr Wyrażenie liczbowe, które określa indeks używany do pobrania określonego wyrażenia na liście. Początkowy indeks listy to 1.
expr_1 Pierwsze wyrażenie na liście.
expr_N(Opcjonalnie) Wyrażenie opcjonalne[s], które może zawierać zmienną liczbę wyrażeń maksymalnie do Ntego elementu na liście.

Typy zwracane

Zwraca wyrażenie, które może być dowolnego typu.

Przykłady

W poniższym przykładzie użyto listy statycznej do zademonstrowania różnych wartości zwracanych w różnych indeksach.

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

W tym przykładzie użyto listy statycznej do zademonstrowania różnych wartości zwracanych w różnych indeksach.

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

W tym ostatnim przykładzie użyto istniejącego elementu w kontenerze z trzema odpowiednimi polami.

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

W tym przykładzie jest wybierane wyrażenie z istniejących ścieżek w elemencie.

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

Uwagi

  • Ta funkcja używa indeksowania listy opartej na jednej podstawie. Pierwszy element na liście jest przywołyny przy użyciu indeksu 1 liczbowego zamiast 0.
  • Ta funkcja nie korzysta z indeksu.

Zobacz też