> ## 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.

> 配列の指定した位置に値を挿入します。

# groupArrayInsertAt

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

導入バージョン: v1.1.0

指定した位置に値を配列へ挿入します。

1 つのクエリで複数の値が同じ位置に挿入される場合、この関数は次のように動作します。

* クエリが単一スレッドで実行される場合は、挿入された値のうち最初のものが使用されます。
* クエリが複数スレッドで実行される場合、結果の値は挿入された値のいずれかになりますが、どれになるかは不定です。

**構文**

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

**パラメータ**

* `default_x` — 省略可。空の位置を埋めるためのデフォルト値。[`Any`](/ja/reference/data-types/index)
* `size` — 省略可。結果の配列の長さ。このパラメータを使用する場合は、デフォルト値 `default_x` を指定する必要があります。[`UInt32`](/ja/reference/data-types/int-uint)

**引数**

* `x` — 挿入する値。[`Any`](/ja/reference/data-types/index)
* `pos` — 指定した要素 `x` を挿入する位置。配列内のインデックスは 0 から始まります。[`UInt32`](/ja/reference/data-types/int-uint)

**戻り値**

値が挿入された配列を返します。[`Array`](/ja/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]                           │
└───────────────────────────────┘
```
