Kategorien:

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

ARRAY_APPEND

Gibt ein Array zurück, das alle Elemente des Quellarrays sowie das neue Element enthält. Das neue Element befindet sich am Ende des Arrays.

Siehe auch:

ARRAY_INSERT, ARRAY_PREPEND

Syntax

ARRAY_APPEND( <array> , <new_element> )
Copy

Argumente

array

Das Quellarray.

new_element

Das Element, das angehängt werden soll. Der Typ des Elements hängt vom Typ des Arrays ab:

Rückgabewerte

Der Datentyp des zurückgegebenen Werts ist ARRAY.

Wenn Sie der Funktion ein strukturiertes Array übergeben, gibt die Funktion ein strukturiertes Array desselben Typs zurück.

Wenn das Quellarray NULL ist, gibt die Funktion NULL zurück.

Beispiele

Die Beispiele verwenden die folgende Tabelle mit einer ARRAY-Spalte:

CREATE OR REPLACE TABLE array_append_examples (array_column ARRAY);

INSERT INTO array_append_examples (array_column)
  SELECT ARRAY_CONSTRUCT(1, 2, 3);

SELECT * FROM array_append_examples;
Copy
+--------------+
| ARRAY_COLUMN |
|--------------|
| [            |
|   1,         |
|   2,         |
|   3          |
| ]            |
+--------------+

Fügen Sie dem Array ein Element desselben Typs hinzu:

UPDATE array_append_examples
  SET array_column = ARRAY_APPEND(array_column, 4);
Copy

Fragen Sie die Tabelle ab, um das neue Element anzuzeigen, das dem Array hinzugefügt wurde:

SELECT * FROM array_append_examples;
Copy
+--------------+
| ARRAY_COLUMN |
|--------------|
| [            |
|   1,         |
|   2,         |
|   3,         |
|   4          |
| ]            |
+--------------+

Fügen Sie dem Array ein Element eines anderen Typs hinzu:

UPDATE array_append_examples
  SET array_column = ARRAY_APPEND(array_column, 'five');
Copy

Fragen Sie die Tabelle ab, um das neue Element, das dem Array hinzugefügt wurde, und den Datentyp jedes Elements im Array anzuzeigen:

SELECT array_column,
       ARRAY_CONSTRUCT(
        TYPEOF(array_column[0]),
        TYPEOF(array_column[1]),
        TYPEOF(array_column[2]),
        TYPEOF(array_column[3]),
        TYPEOF(array_column[4])) AS type
  FROM array_append_examples;
Copy
+--------------+--------------+
| ARRAY_COLUMN | TYPE         |
|--------------+--------------|
| [            | [            |
|   1,         |   "INTEGER", |
|   2,         |   "INTEGER", |
|   3,         |   "INTEGER", |
|   4,         |   "INTEGER", |
|   "five"     |   "VARCHAR"  |
| ]            | ]            |
+--------------+--------------+