VÄLJ (NoSQL-fråga)

GÄLLER FÖR: NoSQL

Returnerar uttrycket vid det angivna indexet för en lista eller Odefinierat om indexet överskrider listans gränser.

Syntax

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

Argument

beskrivning
numeric_expr Ett numeriskt uttryck som anger det index som används för att hämta ett specifikt uttryck i listan. Startindexet för listan är 1.
expr_1 Det första uttrycket i listan.
expr_N(Valfritt) Valfritt uttryck som kan innehålla ett variabelt antal uttryck upp till det Nandra objektet i listan.

Returtyper

Returnerar ett uttryck som kan vara av vilken typ som helst.

Exempel

I följande exempel används en statisk lista för att demonstrera olika returvärden i olika index.

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

I det här exemplet används en statisk lista för att demonstrera olika returvärden i olika index.

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

Det här sista exemplet använder ett befintligt objekt i en container med tre relevanta fält.

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

Det här exemplet väljer ett uttryck från befintliga sökvägar i objektet.

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

Kommentarer

  • Den här funktionen använder enbaserad listindexering. Det första objektet i listan refereras med hjälp av det numeriska indexet 1 i stället 0för .
  • Den här funktionen använder inte indexet.

Se även