Compartir vía


SETINTERSECT - Lenguaje de consulta en Cosmos DB (en Azure y Fabric)

La SETINTERSECT función devuelve el conjunto de expresiones contenidas en ambas matrices de entrada sin duplicados.

La SETINTERSECT función devuelve el conjunto de expresiones que existen en ambas matrices de entrada, sin duplicados, en Azure Cosmos DB para NoSQL.

Syntax

SETINTERSECT(<array_expr_1>, <array_expr_2>)

Arguments

Description
array_expr_1 Matriz de expresiones.
array_expr_2 Matriz de expresiones.

Tipos de retorno

Devuelve una matriz de expresiones.

Examples

Esta sección contiene ejemplos de cómo usar esta construcción del lenguaje de consulta.

Intersección de matrices estáticas

En este ejemplo, la SETINTERSECT función se usa con matrices estáticas para mostrar la funcionalidad intersect.

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

Intersección de campos de matriz en documentos

En este ejemplo, la SETINTERSECT función se usa para buscar la intersección de dos campos de matriz en un 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"]
  }
]

Observaciones

  • Esta función no devuelve duplicados.
  • Esta función no utiliza el índice.
  • SKIP-VALIDATION