Categorias:

Funções de dados semiestruturados e estruturados (Matriz/objeto)

ARRAY_REPEAT

Retorna um valor ARRAY com um número especificado de cópias de um elemento.

Sintaxe

ARRAY_REPEAT( <element> , <count> )

Argumentos

element

O valor a ser repetido na matriz de saída.

O valor pode ser de qualquer tipo de dados semiestruturados, por exemplo, VARIANT, ARRAY, OBJECT, ou qualquer tipo de dados padrão do Snowflake, por exemplo, NUMBER, VARCHAR, BOOLEAN, DATE.

Tipos estruturados, como MAP, não são compatíveis.

count

Uma expressão INTEGER que especifica o número de vezes que element deve ser repetido.

Retornos

A função retorna um valor ARRAY semiestruturado com count cópias de element.

Se count for NULL, a função retornará NULL.

Notas de uso

  • Se count for 0 ou um número negativo, a função retornará uma ARRAY vazia.

  • Se element for NULL, a função retornará uma ARRAY de count valores NULL.

  • O valor element é implicitamente convertido em VARIANT na ARRAY resultante.

Exemplos

O exemplo a seguir repete um valor INTEGER três vezes:

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

O exemplo a seguir repete um valor STRING:

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

O exemplo a seguir repete um valor ARRAY para criar uma ARRAY aninhada:

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

O exemplo a seguir mostra que uma contagem de 0 retorna um valor ARRAY vazio:

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

O exemplo a seguir mostra que uma contagem NULL retorna NULL:

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