Kategorien:

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

ARRAY_REMOVE_AT

Gibt bei einem Quell-ARRAY ein ARRAY zurück, bei dem das Element an der angegebenen Position entfernt wurde.

Beispiel: ARRAY_REMOVE_AT([2, 5, 7], 0) gibt ein ARRAY zurück, bei dem das Element an Position 0 entfernt wurde ([5, 7]).

Syntax

ARRAY_REMOVE_AT( <array> , <position> )
Copy

Argumente

array

Das Quellarray.

position

Die (nullbasierte) Position des zu entfernenden Elements. Die Funktion entfernt das Element an dieser Position.

Eine negative Position wird als ein Index vom Ende des Arrays interpretiert (z. B. entfernt -1 das letzte Element im Array).

Rückgabewerte

Ein ARRAY, bei dem das Element an der angegebenen Position entfernt wurde.

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

Nutzungshinweise

  • Wenn der absolute Wert an der Position position die Länge von array überschreitet, gibt die Funktion array ohne entfernte Elemente zurück.

Beispiele

Das folgende Beispiel gibt ein ARRAY mit Elementen zurück, aus denen das erste Element entfernt wurde.

SELECT ARRAY_REMOVE_AT(
  [2, 5, 7],
  0);
Copy
+-------------------------------+
| ARRAY_REMOVE_AT([2, 5, 7], 0) |
|-------------------------------|
| [                             |
|   5,                          |
|   7                           |
| ]                             |
+-------------------------------+

Das folgende Beispiel gibt ein ARRAY mit Elementen zurück, aus dem das letzte Element entfernt wurde.

SELECT ARRAY_REMOVE_AT(
  [2, 5, 7],
  -1);
Copy
+--------------------------------+
| ARRAY_REMOVE_AT([2, 5, 7], -1) |
|--------------------------------|
| [                              |
|   2,                           |
|   5                            |
| ]                              |
+--------------------------------+

Im folgenden Beispiel ist die Position position größer als die Länge von ARRAY, sodass die Funktion ARRAY ohne Änderungen zurückgibt.

SELECT ARRAY_REMOVE_AT(
  [2, 5, 7],
  10);
Copy
+------------------+
| ARRAY_REMOVE_AT( |
|   [2, 5, 7],     |
|   10)            |
|------------------|
| [                |
|   2,             |
|   5,             |
|   7              |
| ]                |
+------------------+