Renvoie un nouveau tableau ARRAY contenant les éléments présents dans le tableau a mais absents du tableau b, après suppression des doublons.
Syntaxe
array<T> array_except(array<T> <a>, array<T> <b>)
Paramètres
a, b : obligatoires. Tableaux de type ARRAY. Dans la syntaxe array<T>, T représente le type de données des éléments du tableau ; ceux-ci peuvent être de n'importe quel type. Les types de données des tableaux a et b doivent être identiques.
Valeur de retour
La fonction renvoie une valeur de type ARRAY selon les règles suivantes :
Le nouveau tableau ARRAY ne contient aucun doublon et conserve l'ordre des éléments du tableau a.
Les valeurs NULL présentes dans le tableau ARRAY sont prises en compte lors du calcul.
Si l'un des tableaux d'entrée est vide, la fonction renvoie le tableau non vide après suppression des doublons.
Si tous les tableaux d'entrée sont vides, la fonction renvoie un tableau vide.
Exemples
-
Exemple 1 : identifier les éléments présents dans le tableau ARRAY
array(1, 1, 3, 3, 5, 5)mais absents du tableau ARRAYarray(1, 1, 2, 2, 3, 3), puis supprimer les doublons. Exemple de commande :--返回[5]。 select array_except(array(1, 1, 3, 3, 5, 5), array(1, 1, 2, 2, 3, 3)); -
Exemple 2 : identifier les éléments présents dans le tableau ARRAY
array(1, 1, 3, 3, 5, 5, null, null)mais absents du tableau ARRAYarray(1, 1, 2, 2, 3, 3), puis supprimer les doublons. Exemple de commande :--返回[5,null]。 select array_except(array(1, 1, 3, 3, 5, 5, null, null), array(1, 1, 2, 2, 3, 3)); -
Exemple 3 : l'un des tableaux ARRAY d'entrée est vide. Exemple de commande :
--返回[2,1]。 select array_except(array(2, 1, 1, 2), cast(array() as array<int>)); -
Exemple 4 : tous les tableaux ARRAY d'entrée sont vides. Exemple de commande :
--返回[]。 select array_except(cast(array() as array<int>), cast(array() as array<int>));
Fonctions associées
La fonction ARRAY_EXCEPT fait partie des fonctions de type complexe. Pour plus d'informations sur les fonctions de traitement des données de type complexe (telles que ARRAY, MAP, STRUCT et JSON), consultez la rubrique Complex type functions.