Freigeben über


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

Die SETINTERSECT Funktion gibt den Satz von Ausdrücken zurück, die in beiden Eingabearrays ohne Duplikate enthalten sind.

Die SETINTERSECT Funktion gibt den Satz von Ausdrücken zurück, die in beiden Eingabearrays ohne Duplikate in Azure Cosmos DB für NoSQL vorhanden sind.

Syntax

SETINTERSECT(<array_expr_1>, <array_expr_2>)

Arguments

Description
array_expr_1 Ein Array von Ausdrücken.
array_expr_2 Ein Array von Ausdrücken.

Rückgabetypen

Gibt ein Array von Ausdrücken zurück.

Examples

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

Überschneiden statische Arrays

In diesem Beispiel wird die SETINTERSECT Funktion mit statischen Arrays verwendet, um die Intersect-Funktionalität zu veranschaulichen.

SELECT VALUE {
  simpleIntersect: SETINTERSECT([1, 2, 3, 4], [3, 4, 5, 6]),
  emptyIntersect: SETINTERSECT([1, 2, 3, 4], []),
  duplicatesIntersect: SETINTERSECT([1, 2, 3, 4], [1, 1, 1, 1]),
  noMatchesIntersect: SETINTERSECT([1, 2, 3, 4], ["A", "B"]),
  unorderedIntersect: SETINTERSECT([1, 2, "A", "B"], ["A", 1])
}
[
  {
    "simpleIntersect": [3, 4],
    "emptyIntersect": [],
    "duplicatesIntersect": [1],
    "noMatchesIntersect": [],
    "unorderedIntersect": ["A", 1]
  }
]

Überschneiden von Arrayfeldern in Dokumenten

In diesem Beispiel wird die SETINTERSECT Funktion verwendet, um die Schnittmenge von zwei Arrayfeldern in einem Dokument zu finden.

SELECT
    p.name,
    SETINTERSECT(p.colors, p.inStockColors) AS availableColors
FROM
    products p
WHERE
    p.category = "modern-vests"
[
  {
    "name": "Snowilla vest",
    "availableColors": ["Rhino", "Finch"]
  }
]

Bemerkungen

  • Diese Funktion gibt keine Duplikate zurück.
  • Diese Funktion verwendet den Index nicht.
  • SKIP-VALIDATION