Catégories :

Fonctions de données semi-structurées et structurées (tableau/objet)

ARRAY_REMOVE

Avec un ARRAY source donné, renvoie un ARRAY dont les éléments de la valeur spécifiée ont été supprimés.

Par exemple, ARRAY_REMOVE([2, 5, 7, 5, 1], 5) renvoie un ARRAY dont les éléments égaux à 5 ont été supprimés ([2, 7, 1]).

Syntaxe

ARRAY_REMOVE( <array> , <value_of_elements_to_remove> )
Copy

Arguments

array

Le tableau source.

value_of_elements_to_remove

La valeur VARIANT des éléments à supprimer. La fonction supprime les éléments égaux à cette valeur.

Si vous spécifiez une valeur VARCHAR, vous devez d’abord la convertir en VARIANT.

Renvoie

Un ARRAY dont tous les éléments égaux à la valeur spécifiée ont été supprimés.

Si value_of_elements_to_remove est NULL, la fonction renvoie NULL.

Notes sur l’utilisation

  • Si tous les éléments de array sont égaux à value_of_elements_to_remove, la fonction renvoie un ARRAY vide.

Exemples

L’exemple suivant renvoie un ARRAY dont les éléments ayant la valeur 5 ont été supprimés.

SELECT ARRAY_REMOVE(
  [1, 5, 5.00, 5.00::DOUBLE, '5', 5, NULL],
  5);
Copy
+---------------------------------------------+
| ARRAY_REMOVE(                               |
|   [1, 5, 5.00, 5.00::DOUBLE, '5', 5, NULL], |
|   5)                                        |
|---------------------------------------------|
| [                                           |
|   1,                                        |
|   "5",                                      |
|   undefined                                 |
| ]                                           |
+---------------------------------------------+

L’exemple suivant supprime les éléments ayant la valeur 5 d’un ARRAY qui ne contient que des éléments ayant la valeur 5. La fonction renvoie un ARRAY vide :

SELECT ARRAY_REMOVE([5, 5], 5);
Copy
+-------------------------+
| ARRAY_REMOVE([5, 5], 5) |
|-------------------------|
| []                      |
+-------------------------+

L’exemple suivant supprime les éléments ayant la valeur 'a' d’un ARRAY. Comme le montre l’exemple, vous devez convertir la valeur en VARIANT.

SELECT ARRAY_REMOVE(
  ['a', 'b', 'a', 'c', 'd', 'a'],
  'a'::VARIANT);
Copy
+-----------------------------------+
| ARRAY_REMOVE(                     |
|   ['A', 'B', 'A', 'C', 'D', 'A'], |
|   'A'::VARIANT)                   |
|-----------------------------------|
| [                                 |
|   "b",                            |
|   "c",                            |
|   "d"                             |
| ]                                 |
+-----------------------------------+