Aracılığıyla paylaş


ARRAY_SLICE - Cosmos DB'de sorgu dili (Azure ve Doku'da)

işlevi, ARRAY_SLICE belirtilen dizini ve uzunluğu kullanarak bir dizi ifadesinin alt kümesini döndürür.

Sözdizimi

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

Arguments

Description
array_expr Bir dizi ifadesi.
numeric_expr_1 Dizinin alt küme için diziye nereden başlayacağını gösteren sayısal ifade. İsteğe bağlı olarak, dizinin son öğesine göre başlangıç dizinini belirtmek için negatif değerler kullanılabilir.
numeric_expr_2 Sonuçta elde edilen dizideki öğelerin uzunluk üst sınırını gösteren isteğe bağlı sayısal ifade.

Dönüş türleri

Bir dizi ifadesi döndürür.

Örnekler

Bu bölüm, bu sorgu dili yapısının nasıl kullanılacağına örnekler içerir.

Dizi dilimi örnekleri

Bu örnekte işlevi bir ARRAY_SLICE dizinin alt kümelerini almak için kullanılır.

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

Açıklamalar

  • Bu işlev dizini kullanmaz.