Freigeben über


ARRAY_SLICE - Abfragesprache in Cosmos DB (in Azure und Fabric)

Die ARRAY_SLICE Funktion gibt eine Teilmenge eines Arrayausdrucks mit dem angegebenen Index und der angegebenen Länge zurück.

Syntax

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

Arguments

Description
array_expr Ein Arrayausdruck.
numeric_expr_1 Ein numerischer Ausdruck, der den Index angibt, an dem das Array für die Teilmenge beginnen soll. Optional können negative Werte verwendet werden, um den Anfangsindex relativ zum letzten Element des Arrays anzugeben.
numeric_expr_2 Ein optionaler numerischer Ausdruck, der die maximale Länge von Elementen im resultierenden Array angibt.

Rückgabetypen

Gibt einen Arrayausdruck zurück.

Examples

Dieser Abschnitt enthält Beispiele für die Verwendung dieses Abfragesprachenkonstrukts.

Beispiele für Arraysegmente

In diesem Beispiel wird die ARRAY_SLICE Funktion verwendet, um Teilmengen eines Arrays abzurufen.

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

Bemerkungen

  • Diese Funktion verwendet den Index nicht.