Partager via


SETINTERSECT - Langage de requête dans Cosmos DB (dans Azure et Fabric)

La SETINTERSECT fonction retourne l’ensemble d’expressions contenues dans les deux tableaux d’entrée sans doublons.

La SETINTERSECT fonction retourne l’ensemble d’expressions qui existent dans les deux tableaux d’entrée, sans doublons, dans Azure Cosmos DB pour NoSQL.

Syntaxe

SETINTERSECT(<array_expr_1>, <array_expr_2>)

Arguments

Descriptif
array_expr_1 Tableau d’expressions.
array_expr_2 Tableau d’expressions.

Types de retour

Retourne un tableau d’expressions.

Examples

Cette section contient des exemples d’utilisation de cette construction de langage de requête.

Croiser des tableaux statiques

Dans cet exemple, la SETINTERSECT fonction est utilisée avec des tableaux statiques pour illustrer la fonctionnalité d’intersection.

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

Croiser des champs de tableau dans des documents

Dans cet exemple, la SETINTERSECT fonction est utilisée pour rechercher l’intersection de deux champs de tableau dans un document.

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

Remarques

  • Cette fonction ne retourne pas de doublons.
  • Cette fonction n’utilise pas l’index.
  • SKIP-VALIDATION