> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Insere um valor no array na posição especificada.

# groupArrayInsertAt

<div id="groupArrayInsertAt">
  ## groupArrayInsertAt
</div>

Introduzido em: v1.1.0

Insere um valor no array na posição especificada.

Se, em uma consulta, vários valores forem inseridos na mesma posição, a função se comporta da seguinte forma:

* Se uma consulta for executada em uma única thread, será usado o primeiro dos valores inseridos.
* Se uma consulta for executada em múltiplas threads, o valor resultante será um dos valores inseridos, de maneira indeterminada.

**Sintaxe**

```sql theme={null}
groupArrayInsertAt(default_x, size)([x, pos])
```

**Parâmetros**

* `default_x` — Opcional. Valor padrão para preencher posições vazias. [`Any`](/pt-BR/reference/data-types)
* `size` — Opcional. Tamanho do array resultante. Ao usar este parâmetro, o valor padrão `default_x` deve ser especificado. [`UInt32`](/pt-BR/reference/data-types/int-uint)

**Argumentos**

* `x` — Valor a ser inserido. [`Any`](/pt-BR/reference/data-types)
* `pos` — Posição em que o elemento especificado `x` deve ser inserido. A numeração dos índices no array começa em zero. [`UInt32`](/pt-BR/reference/data-types/int-uint)

**Valor retornado**

Retorna um array com os valores inseridos. [`Array`](/pt-BR/reference/data-types/array)

**Exemplos**

**Uso básico sem parâmetros**

```sql title=Query theme={null}
SELECT groupArrayInsertAt(toString(number), number * 2) FROM numbers(5);
```

```response title=Response theme={null}
┌─groupArrayInsertAt(toString(number), multiply(number, 2))─┐
│ ['0','','1','','2','','3','','4']                         │
└───────────────────────────────────────────────────────────┘
```

**Uso com o parâmetro de valor padrão**

```sql title=Query theme={null}
SELECT groupArrayInsertAt('-')(toString(number), number * 2) FROM numbers(5);
```

```response title=Response theme={null}
┌─groupArrayInsertAt('-')(toString(number), multiply(number, 2))─┐
│ ['0','-','1','-','2','-','3','-','4']                          │
└────────────────────────────────────────────────────────────────┘
```

**Uso com os parâmetros valor padrão e tamanho**

```sql title=Query theme={null}
SELECT groupArrayInsertAt('-', 5)(toString(number), number * 2) FROM numbers(5);
```

```response title=Response theme={null}
┌─groupArrayInsertAt('-', 5)(toString(number), multiply(number, 2))─┐
│ ['0','-','1','-','2']                                             │
└───────────────────────────────────────────────────────────────────┘
```

**Inserção multithread na mesma posição**

```sql title=Query theme={null}
SELECT groupArrayInsertAt(number, 0) FROM numbers_mt(10) SETTINGS max_block_size = 1;
```

```response title=Response theme={null}
┌─groupArrayInsertAt(number, 0)─┐
│ [7]                           │
└───────────────────────────────┘
```
