Partilhar via


SETINTERSECT - Linguagem de consulta no Cosmos DB (no Azure e no Fabric)

A SETINTERSECT função retorna o conjunto de expressões que está contido em ambas as matrizes de entrada sem duplicatas.

A SETINTERSECT função retorna o conjunto de expressões que existem em ambas as matrizes de entrada, sem duplicatas, no Azure Cosmos DB para NoSQL.

Sintaxe

SETINTERSECT(<array_expr_1>, <array_expr_2>)

Arguments

Description
array_expr_1 Uma matriz de expressões.
array_expr_2 Uma matriz de expressões.

Tipos de devolução

Retorna uma matriz de expressões.

Examples

Esta seção contém exemplos de como usar essa construção de linguagem de consulta.

Intersectar matrizes estáticas

Neste exemplo, a SETINTERSECT função é usada com matrizes estáticas para demonstrar a funcionalidade de interseção.

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

Cruzar campos de matriz em documentos

Neste exemplo, a SETINTERSECT função é usada para localizar a interseção de dois campos de matriz em um documento.

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

Observações

  • Esta função não retorna duplicatas.
  • Esta função não utiliza o índice.
  • SKIP-VALIDATION