Condividi tramite


SETINTERSECT - Linguaggio di query in Cosmos DB (in Azure e Fabric)

La SETINTERSECT funzione restituisce il set di espressioni contenute in entrambe le matrici di input senza duplicati.

La SETINTERSECT funzione restituisce il set di espressioni presenti in entrambe le matrici di input, senza duplicati, in Azure Cosmos DB per NoSQL.

Sintassi

SETINTERSECT(<array_expr_1>, <array_expr_2>)

Arguments

Description
array_expr_1 Matrice di espressioni.
array_expr_2 Matrice di espressioni.

Tipi restituiti

Restituisce una matrice di espressioni.

Esempi

Questa sezione contiene esempi di come usare questo costrutto di linguaggio di query.

Intersecare matrici statiche

In questo esempio la SETINTERSECT funzione viene usata con matrici statiche per illustrare la funzionalità di intersezione.

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

Intersecare i campi della matrice nei documenti

In questo esempio, la SETINTERSECT funzione viene usata per trovare l'intersezione di due campi di matrice in 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"]
  }
]

Osservazioni:

  • Questa funzione non restituisce duplicati.
  • Questa funzione non usa l'indice.
  • SKIP-VALIDATION