Udostępnij za pomocą


ARRAY_SLICE — Język zapytań w usłudze Cosmos DB (na platformie Azure i w sieci szkieletowej)

Funkcja ARRAY_SLICE zwraca podzbiór wyrażenia tablicy przy użyciu określonego indeksu i długości.

Składnia

ARRAY_SLICE(<array_expr>, <numeric_expr_1> [, <numeric_expr_2>])

Arguments

Description
array_expr Wyrażenie tablicy.
numeric_expr_1 Wyrażenie liczbowe wskazujące indeks, w którym należy rozpocząć tablicę dla podzestawu. Opcjonalnie wartości ujemne mogą służyć do określania indeksu początkowego względem ostatniego elementu tablicy.
numeric_expr_2 Opcjonalne wyrażenie liczbowe wskazujące maksymalną długość elementów w wynikowej tablicy.

Typy zwracane

Zwraca wyrażenie tablicy.

Przykłady

Ta sekcja zawiera przykłady użycia tej konstrukcji języka zapytań.

Przykłady wycinków tablicy

W tym przykładzie ARRAY_SLICE funkcja służy do pobierania podzbiorów tablicy.

SELECT VALUE {
  sliceFromStart: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], 0),
  sliceFromSecond: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], 1),
  sliceFromLast: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], -1),
  sliceFromSecondToLast: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], -2),
  sliceThreeFromStart: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], 0, 3),
  sliceTwelveFromStart: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], 0, 12),
  sliceFiveFromThird: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], 3, 5),
  sliceOneFromSecondToLast: ARRAY_SLICE(["Alpha", "Bravo", "Charlie", "Delta", "Echo", "Foxtrot", "Golf"], -2, 1)
}
[
  {
    "sliceFromStart": [
      "Alpha",
      "Bravo",
      "Charlie",
      "Delta",
      "Echo",
      "Foxtrot",
      "Golf"
    ],
    "sliceFromSecond": [
      "Bravo",
      "Charlie",
      "Delta",
      "Echo",
      "Foxtrot",
      "Golf"
    ],
    "sliceFromLast": [
      "Golf"
    ],
    "sliceFromSecondToLast": [
      "Foxtrot",
      "Golf"
    ],
    "sliceThreeFromStart": [
      "Alpha",
      "Bravo",
      "Charlie"
    ],
    "sliceTwelveFromStart": [
      "Alpha",
      "Bravo",
      "Charlie",
      "Delta",
      "Echo",
      "Foxtrot",
      "Golf"
    ],
    "sliceFiveFromThird": [
      "Delta",
      "Echo",
      "Foxtrot",
      "Golf"
    ],
    "sliceOneFromSecondToLast": [
      "Foxtrot"
    ]
  }
]

Uwagi

  • Ta funkcja nie korzysta z indeksu.