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

> 将值插入数组中的指定位置。

# groupArrayInsertAt

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

引入版本：v1.1.0

将一个值插入数组中的指定位置。

如果在一次查询中有多个值被插入到同一位置，则该函数的行为如下：

* 如果查询在单个线程中执行，则使用第一个插入的值。
* 如果查询在多个线程中执行，则结果值是这些插入值中的某个不确定值。

**语法**

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

**参数**

* `default_x` — 可选。用于填补空缺位置的默认值。[`Any`](/zh/reference/data-types)
* `size` — 可选。结果数组的长度。使用此参数时，必须指定默认值 `default_x`。[`UInt32`](/zh/reference/data-types/int-uint)

**Arguments**

* `x` — 要插入的值。[`Any`](/zh/reference/data-types)
* `pos` — 插入指定元素 `x` 的位置。数组索引从零开始编号。[`UInt32`](/zh/reference/data-types/int-uint)

**返回值**

返回插入了值的数组。[`Array`](/zh/reference/data-types/array)

**示例**

**不使用参数的基本用法**

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

**带默认值参数的用法**

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

**带默认值和大小参数的用法**

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

**在同一位置进行多线程插入**

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