Aracılığıyla paylaş


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

işlevi, SETINTERSECT yinelenenleri olmayan her iki giriş dizisinde de bulunan ifade kümesini döndürür.

İşlev, SETINTERSECT NoSQL için Azure Cosmos DB'de her iki giriş dizisinde de var olan ve yineleme içermeyen ifade kümesini döndürür.

Sözdizimi

SETINTERSECT(<array_expr_1>, <array_expr_2>)

Arguments

Description
array_expr_1 İfade dizisi.
array_expr_2 İfade dizisi.

Dönüş türleri

bir ifade dizisi döndürür.

Örnekler

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

Statik dizileri kesiştir

Bu örnekte işlev, SETINTERSECT kesişen işlevselliği göstermek için statik dizilerle birlikte kullanılır.

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

Belgelerdeki dizi alanlarını kesiştir

Bu örnekte işlev, bir belgedeki SETINTERSECT iki dizi alanının kesişimini bulmak için kullanılır.

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

Açıklamalar

  • Bu işlev yinelenenleri döndürmez.
  • Bu işlev dizini kullanmaz.
  • SKIP-VALIDATION