共用方式為


SETINTERSECT - Cosmos DB 中的查詢語言 (在 Azure 和 Fabric 中)

SETINTERSECT 函數會傳回兩個輸入陣列中包含的一組運算式,且沒有重複項。

SETINTERSECT 式會傳回適用於 NoSQL 的 Azure Cosmos DB 中兩個輸入陣列中存在的一組運算式,且沒有重複專案。

語法

SETINTERSECT(<array_expr_1>, <array_expr_2>)

Arguments

Description
array_expr_1 運算式陣列。
array_expr_2 運算式陣列。

傳回類型

傳回運算式陣列。

範例

本節包含如何使用此查詢語言建構的範例。

相交靜態陣列

在此範例中,函 SETINTERSECT 式會與靜態陣列搭配使用,以示範相交功能。

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

在文件中相交陣列欄位

在此範例中,該 SETINTERSECT 函數用於尋找文件中兩個陣列欄位的交集。

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

備註

  • 此函式不會傳回重複項。
  • 此函式不會使用索引。
  • SKIP-VALIDATION