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

> Insère une valeur dans le tableau à la position indiquée.

# groupArrayInsertAt

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

Introduit dans : v1.1.0

Insère une valeur dans le tableau à la position spécifiée.

Si, dans une même requête, plusieurs valeurs sont insérées à la même position, la fonction se comporte de la manière suivante :

* Si une requête est exécutée dans un seul thread, la première des valeurs insérées est utilisée.
* Si une requête est exécutée sur plusieurs threads, la valeur obtenue est l’une des valeurs insérées, de manière indéterminée.

**Syntaxe**

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

**Paramètres**

* `default_x` — Facultatif. Valeur par défaut utilisée pour remplacer les emplacements vides. [`Any`](/fr/reference/data-types/index)
* `size` — Facultatif. Longueur du tableau résultant. Lors de l’utilisation de ce paramètre, la valeur par défaut `default_x` doit être spécifiée. [`UInt32`](/fr/reference/data-types/int-uint)

**Arguments**

* `x` — Valeur à insérer. [`Any`](/fr/reference/data-types/index)
* `pos` — Position à laquelle l’élément spécifié `x` doit être inséré. Les indices du tableau commencent à zéro. [`UInt32`](/fr/reference/data-types/int-uint)

**Valeur renvoyée**

Renvoie un tableau contenant les valeurs insérées. [`Array`](/fr/reference/data-types/array)

**Exemples**

**Utilisation de base sans paramètres**

```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']                         │
└───────────────────────────────────────────────────────────┘
```

**Utilisation du paramètre de valeur par défaut**

```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']                          │
└────────────────────────────────────────────────────────────────┘
```

**Utilisation avec des paramètres de taille et de valeur par défaut**

```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']                                             │
└───────────────────────────────────────────────────────────────────┘
```

**Insertion multithreadée à la même position**

```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]                           │
└───────────────────────────────┘
```
