- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Array/Objekt)
ARRAY_CONSTRUCT¶
Gibt ein Array zurück, das aus null, einer oder mehreren Eingaben aufgebaut ist.
Weitere Informationen zum Erstellen und Verwenden von Arrays finden Sie unter ARRAY.
- Siehe auch:
Syntax¶
ARRAY_CONSTRUCT( [ <expr1> ] [ , <expr2> [ , ... ] ] )
Argumente¶
Die Argumente sind Werte (oder Ausdrücke, die Werte ergeben). Die Argumentwerte können verschiedene Datentypen sein.
Rückgabewerte¶
Der Datentyp des zurückgegebenen Werts ist ARRAY.
Nutzungshinweise¶
Wenn die Funktion mit
NArgumenten aufgerufen wird, beträgt die Größe des resultierenden ArraysN.In vielen Kontexten können Sie anstelle der ARRAY_CONSTRUCT-Funktion auch eine ARRAY-Konstante (ARRAY-Literal genannt) verwenden.
Ein Array kann sowohl SQL-NULL-Werte als auch JSON-Nullwerte enthalten. Weitere Informationen dazu finden Sie unter NULL-Werte.
Beispiele¶
Erstellen eines Basisarrays, das aus numerischen Datentypen besteht:
SELECT ARRAY_CONSTRUCT(10, 20, 30);
+-----------------------------+
| ARRAY_CONSTRUCT(10, 20, 30) |
|-----------------------------|
| [ |
| 10, |
| 20, |
| 30 |
| ] |
+-----------------------------+
Konstruieren Sie ein Basis-Array, das aus verschiedenen Datentypen besteht, darunter ein SQL-NULL-Wert (undefined) und ein JSON-Nullwert (null):
SELECT ARRAY_CONSTRUCT(NULL, PARSE_JSON('null'), 'hello', 3::DOUBLE, 4, 5);
+---------------------------------------------------------------------+
| ARRAY_CONSTRUCT(NULL, PARSE_JSON('NULL'), 'HELLO', 3::DOUBLE, 4, 5) |
|---------------------------------------------------------------------|
| [ |
| undefined, |
| null, |
| "hello", |
| 3.000000000000000e+00, |
| 4, |
| 5 |
| ] |
+---------------------------------------------------------------------+
Erstellen eines leeren Arrays:
SELECT ARRAY_CONSTRUCT();
+-------------------+
| ARRAY_CONSTRUCT() |
|-------------------|
| [] |
+-------------------+
Erstellen Sie eine Tabelle und fügen Sie Arrays in eine ARRAY-Spalte ein:
CREATE OR REPLACE TABLE construct_array_example (id INT, array_column ARRAY);
INSERT INTO construct_array_example (id, array_column)
SELECT 1,
ARRAY_CONSTRUCT(1, 2, 3);
INSERT INTO construct_array_example (id, array_column)
SELECT 2,
ARRAY_CONSTRUCT(4, 5, 6);
INSERT INTO construct_array_example (id, array_column)
SELECT 3,
ARRAY_CONSTRUCT(7, 8, 9);
SELECT * FROM construct_array_example;
+----+--------------+
| ID | ARRAY_COLUMN |
|----+--------------|
| 1 | [ |
| | 1, |
| | 2, |
| | 3 |
| | ] |
| 2 | [ |
| | 4, |
| | 5, |
| | 6 |
| | ] |
| 3 | [ |
| | 7, |
| | 8, |
| | 9 |
| | ] |
+----+--------------+