Kategorien:

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

ARRAY_REPEAT

Gibt einen ARRAY-Wert zurück, der eine bestimmte Anzahl von Kopien eines Elements enthält.

Syntax

ARRAY_REPEAT( <element> , <count> )

Argumente

element

Der Wert, der im Ausgabearray wiederholt werden soll.

Der Wert kann ein beliebiger semistrukturierter Datentyp sein, zum Beispiel VARIANT, ARRAY, OBJECT, oder ein anderer Snowflake-Standarddatentyp sein, zum Beispiel NUMBER, VARCHAR, BOOLEAN, DATE.

Strukturierte Typen, z. B.MAP, werden nicht unterstützt.

count

Ein INTEGER-Ausdruck, der angibt, wie oft element wiederholt werden soll.

Rückgabewerte

Die Funktion gibt einen semistrukturierten ARRAY-Wert zurück, der count-Kopien von element enthält.

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

Nutzungshinweise

  • Wenn count 0 oder eine negative Zahl ist, gibt die Funktion ein leeres ARRAY zurück.

  • Wenn element NULL ist, gibt die Funktion ein ARRAY von count NULL-Werten zurück.

  • Der element-Wert wird implizit in VARIANT in dem resultierenden ARRAY umgewandelt.

Beispiele

Im folgenden Beispiel wird ein INTEGER-Wert dreimal wiederholt:

SELECT ARRAY_REPEAT(42, 3);
+---------------------+
| ARRAY_REPEAT(42, 3) |
|---------------------|
| [                   |
|   42,               |
|   42,               |
|   42                |
| ]                   |
+---------------------+

Im folgenden Beispiel wird ein STRING-Wert wiederholt:

SELECT ARRAY_REPEAT('hello', 2);
+--------------------------+
| ARRAY_REPEAT('hello', 2) |
|--------------------------|
| [                        |
|   "hello",               |
|   "hello"                |
| ]                        |
+--------------------------+

Im folgenden Beispiel wird ein ARRAY-Wert wiederholt, um ein verschachteltes ARRAY zu erstellen:

SELECT ARRAY_REPEAT([1, 2], 2);
+-------------------------+
| ARRAY_REPEAT([1, 2], 2) |
|-------------------------|
| [                       |
|   [                     |
|     1,                  |
|     2                   |
|   ],                    |
|   [                     |
|     1,                  |
|     2                   |
|   ]                     |
| ]                       |
+-------------------------+

Das folgende Beispiel zeigt, dass eine Anzahl von 0 einen leeren ARRAY-Wert zurückgibt:

SELECT ARRAY_REPEAT('x', 0);
+----------------------+
| ARRAY_REPEAT('x', 0) |
|----------------------|
| []                   |
+----------------------+

Das folgende Beispiel zeigt, dass eine Anzahl von NULL NULL zurückgibt:

SELECT ARRAY_REPEAT('hi', NULL);
+--------------------------+
| ARRAY_REPEAT('hi', NULL) |
|--------------------------|
| NULL                     |
+--------------------------+