Tous les produits
Search
Centre de documentation

MaxCompute:ARRAY_EXCEPT

Dernière mise à jour :Sep 22, 2026

Renvoie les éléments présents dans le tableau a mais absents du tableau b, sous la forme d'un nouveau tableau sans doublons.

Syntaxe

array<T> array_except(array<T> <a>, array<T> <b>)

Paramètres

a et b : obligatoires. Ces paramètres désignent des tableaux. Le type T dans array<T> indique le type de données des éléments contenus dans les tableaux. Les éléments peuvent être de n'importe quel type. Les éléments des tableaux a et b doivent impérativement être du même type.

Valeur renvoyée

La fonction renvoie une valeur de type ARRAY. Le résultat varie selon les règles suivantes :

  • Le tableau renvoyé ne contient aucun doublon et ses éléments conservent l'ordre du tableau a.

  • Si un élément d'un tableau est null, cette valeur null est prise en compte dans l'opération.

  • Si l'un des tableaux d'entrée est vide, la fonction renvoie le tableau non vide après suppression des doublons.

  • Si les deux tableaux d'entrée sont vides, la fonction renvoie un tableau vide.

Exemples

  • Exemple 1 : renvoyez les éléments présents dans array(1, 1, 3, 3, 5, 5) mais absents de array(1, 1, 2, 2, 3, 3), sous la forme d'un nouveau tableau sans doublons. Requête d'exemple :

    -- The return value is [5]. 
    select array_except(array(1, 1, 3, 3, 5, 5), array(1, 1, 2, 2, 3, 3));
  • Exemple 2 : renvoyez les éléments présents dans array(1, 1, 3, 3, 5, 5, null, null) mais absents de array(1, 1, 2, 2, 3, 3), sous la forme d'un nouveau tableau sans doublons. Requête d'exemple :

    -- The return value is [5,null]. 
    select array_except(array(1, 1, 3, 3, 5, 5, null, null), array(1, 1, 2, 2, 3, 3));
  • Exemple 3 : renvoyez les éléments présents dans un tableau mais absents d'un autre, sous la forme d'un nouveau tableau sans doublons. L'un des tableaux d'entrée est vide. Requête d'exemple :

    -- The return value is [2,1]. 
    select array_except(array(2, 1, 1, 2), cast(array() as array<int>)); 
  • Exemple 4 : renvoyez les éléments présents dans un tableau mais absents d'un autre, sous la forme d'un nouveau tableau sans doublons. Les deux tableaux d'entrée sont vides. Requête d'exemple :

    -- The return value is []. 
    select array_except(cast(array() as array<int>), cast(array() as array<int>));

Fonctions associées

ARRAY_EXCEPT est une fonction de type complexe. Pour plus d'informations sur les fonctions de traitement des types complexes (ARRAY, MAP, STRUCT et JSON), consultez la rubrique Fonctions de type complexe.