Compartilhar via


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

A SETINTERSECT função retorna o conjunto de expressões contidas 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 retorno

Retorna uma matriz de expressões.

Exemplos

Esta seção contém exemplos de como usar este constructo de linguagem de consulta.

Interseção de 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]
  }
]

Interseccione 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

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