Kategorien:

Funktionen für semistrukturierte und strukturierte Daten (Array/Objekt)

ARRAY_REMOVE

Gibt bei einem Quell-ARRAY ein ARRAY zurück, aus dem Elemente des angegebenen Wertes entfernt wurden.

Beispiel: ARRAY_REMOVE([2, 5, 7, 5, 1], 5) gibt ein ARRAY zurück, bei dem die Elemente, die gleich 5 sind, entfernt wurden ([2, 7, 1]).

Syntax

ARRAY_REMOVE( <array> , <value_of_elements_to_remove> )
Copy

Argumente

array

Das Quellarray.

value_of_elements_to_remove

Der VARIANT-Wert der zu entfernenden Elemente. Die Funktion entfernt die Elemente, die gleich diesem Wert sind.

Wenn Sie einen VARCHAR-Wert angeben, müssen Sie den Wert zunächst in VARIANT umwandeln.

Rückgabewerte

Ein ARRAY, aus dem alle Elemente entfernt wurden, die gleich dem angegebenen Wert sind.

Wenn value_of_elements_to_remove den Wert NULL hat, gibt die Funktion NULL zurück.

Nutzungshinweise

  • Wenn alle Elemente in array gleich value_of_elements_to_remove sind, gibt die Funktion ein leeres ARRAY zurück.

Beispiele

Das folgende Beispiel gibt ein ARRAY mit Elementen zurück, aus denen der Wert 5 entfernt wurde.

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

Im folgenden Beispiel werden die Elemente mit dem Wert 5 aus einem ARRAY entfernt, das nur Elemente mit dem Wert 5 enthält. Als Ergebnis gibt die Funktion ein leeres ARRAY zurück.

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

Im folgenden Beispiel werden Elemente mit dem Wert 'a' aus einem ARRAY entfernt. Wie im Beispiel gezeigt, müssen Sie den Wert in einen VARIANT-Wert umwandeln.

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"                             |
| ]                                 |
+-----------------------------------+