Udostępnij za pomocą


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

Funkcja SETINTERSECT zwraca zestaw wyrażeń zawartych w obu tablicach wejściowych bez duplikatów.

Funkcja SETINTERSECT zwraca zestaw wyrażeń, które istnieją w obu tablicach wejściowych, bez duplikatów, w usłudze Azure Cosmos DB for NoSQL.

Składnia

SETINTERSECT(<array_expr_1>, <array_expr_2>)

Arguments

Description
array_expr_1 Tablica wyrażeń.
array_expr_2 Tablica wyrażeń.

Typy zwracane

Zwraca tablicę wyrażeń.

Przykłady

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

Przecinanie tablic statycznych

W tym przykładzie SETINTERSECT funkcja jest używana z tablicami statycznymi w celu zademonstrowania funkcji przecinania.

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

Przecinanie pól tablicy w dokumentach

W tym przykładzie SETINTERSECT funkcja służy do znajdowania przecięcia dwóch pól tablicy w dokumencie.

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

Uwagi

  • Ta funkcja nie zwraca duplikatów.
  • Ta funkcja nie korzysta z indeksu.
  • SKIP-VALIDATION