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

> Valuesフォーマットに関するドキュメント

# Values

| 入力 | 出力 | エイリアス |
| -- | -- | ----- |
| ✔  | ✔  |       |

<div id="description">
  ## 説明
</div>

`Values` フォーマットでは、各行は括弧で囲んで出力されます。

* 行はカンマで区切られ、最後の行の後にはカンマは付きません。
* 括弧内の値もカンマ区切りです。
* 数値は引用符なしの10進数形式で出力されます。
* Array は `[]` で出力されます。
* 文字列、日付、および時刻を含む日付は引用符付きで出力されます。
* エスケープ規則とパースは [TabSeparated](/ja/reference/formats/TabSeparated/TabSeparated) フォーマットと似ています。

フォーマット時には余分なスペースは挿入されませんが、パース時にはスペースを使用でき、読み飛ばされます (ただし、Array の値内のスペースは使用できません) 。
[`NULL`](/ja/reference/syntax) は `NULL` として表されます。

`Values` フォーマットでデータを渡す際にエスケープする必要がある最小限の文字は、次のとおりです。

* シングルクォート
* バックスラッシュ

これは `INSERT INTO t VALUES ...` で使用されるフォーマットですが、クエリ結果のフォーマットにも使用できます。

<div id="example-usage">
  ## 使用例
</div>

<div id="inserting-data">
  ### データの挿入
</div>

`Values` フォーマットは `INSERT` で使用されるため、`INSERT ... VALUES` ステートメントでは
すでにこのフォーマットが使われています。`FORMAT Values` 句を明示的に指定することもでき、
行はストリームやファイルから与えられます。各行は角括弧で囲まれた
カンマ区切りのタプルで表され、タプル同士もカンマで区切られます：

```sql title="Query" theme={null}
CREATE TABLE t (id UInt32, name String, values Array(UInt32)) ENGINE = Memory;

INSERT INTO t FORMAT Values (1, 'a', [10, 20]), (2, 'b', [30]);

SELECT * FROM t ORDER BY id;
```

```response title="Response" theme={null}
┌─id─┬─name─┬─values──┐
│  1 │ a    │ [10,20] │
│  2 │ b    │ [30]    │
└────┴──────┴─────────┘
```

<div id="using-expressions">
  ### 入力時に式を使用する
</div>

ほとんどの入力フォーマットとは異なり、`Values` ではリテラルだけでなく、各フィールド内で SQL 式を評価できます。これは
[`input_format_values_interpret_expressions`](#format-settings) で制御されており (既定で
有効) 、フィールドを高速ストリーミングパーサーで読み取れない場合、ClickHouse
は SQL パーサーにフォールバックして、そのフィールドを式として解釈します。

```sql title="Query" theme={null}
CREATE TABLE prices (item String, total UInt32) ENGINE = Memory;

INSERT INTO prices FORMAT Values ('apple', 3 * 4), ('pear', length('hello') + 10);

SELECT * FROM prices ORDER BY total;
```

```response title="Response" theme={null}
┌─item──┬─total─┐
│ apple │    12 │
│ pear  │    15 │
└───────┴───────┘
```

<div id="selecting-data">
  ### データの選択
</div>

`Values` フォーマットは、クエリ結果の出力にも使用できます。数値は引用符なしで記述し、配列は `[]`、文字列と日付はシングルクォートで囲みます。文字列内のシングルクォートとバックスラッシュは、バックスラッシュでエスケープします。[`NULL`](/ja/reference/syntax) は `NULL` と記述します。

```sql title="Query" theme={null}
SELECT 1 AS a, 'O''Reilly' AS b, NULL::Nullable(String) AS c FORMAT Values;
```

```response title="Response" theme={null}
(1,'O\'Reilly',NULL)
```

<div id="format-settings">
  ## フォーマット設定
</div>

| 設定                                                                                                                                          | 説明                                                                                                    | デフォルト  |
| ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------ |
| [`input_format_values_interpret_expressions`](/ja/reference/settings/formats#input_format_values_interpret_expressions)                     | フィールドをストリーミングパーサーでパースできない場合、SQLパーサーを実行し、それを SQL 式として解釈できるか試みます。                                       | `true` |
| [`input_format_values_deduce_templates_of_expressions`](/ja/reference/settings/formats#input_format_values_deduce_templates_of_expressions) | フィールドをストリーミングパーサーでパースできない場合、SQLパーサーを実行して SQL 式のテンプレートを推定し、そのテンプレートを使ってすべての行のパースを試みたうえで、すべての行の式を解釈します。 | `true` |
| [`input_format_values_accurate_types_of_literals`](/ja/reference/settings/formats#input_format_values_accurate_types_of_literals)           | テンプレートを使って式をパースおよび解釈する際、オーバーフローや精度の問題を避けるため、リテラルの実際の型を確認します。                                          | `true` |
