Catégories :

Fonctions de données semi-structurées et structurées (tableau/objet)

ARRAY_REPEAT

Renvoie une valeur :ref:`ARRAY <label-data_type_array> ` contenant un nombre spécifié de copies d’un élément.

Syntaxe

ARRAY_REPEAT( <element> , <count> )

Arguments

element

La valeur à répéter dans le tableau de sortie.

La valeur peut être n’importe quel type de données semi-structurées (par exemple, VARIANT, ARRAY, OBJECT) ou n’importe quel type de données Snowflake standard (par exemple, NUMBER, VARCHAR, BOOLEAN, DATE).

Les types structurés, comme MAP, ne sont pas pris en charge.

count

Une expression INTEGER spécifiant le nombre de fois où element doit être répété.

Renvoie

La fonction renvoie une valeur ARRAY semi-structurée contenant des copies count de element.

Si count est NULL, la fonction renvoie NULL.

Notes sur l’utilisation

  • Si count correspond à 0 ou à un nombre négatif, la fonction renvoie un ARRAY vide.

  • Si element correspond à NULL, la fonction renvoie un ARRAY de valeurs count NULL.

  • La valeur element est implicitement convertie en VARIANT dans le tableau ARRAY qui en résulte.

Exemples

L’exemple suivant répète une valeur INTEGER trois fois :

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

L’exemple suivant répète une valeur STRING :

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

L’exemple suivant répète une valeur ARRAY pour créer un ARRAY imbriqué :

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

L’exemple suivant montre qu’un nombre de 0 renvoie une valeur ARRAY vide :

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

L’exemple suivant montre qu’un nombre NULL renvoie NULL :

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