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

> Документация по формату Values

# Values

| Ввод | Вывод | Псевдоним |
| ---- | ----- | --------- |
| ✔    | ✔     |           |

<div id="description">
  ## Описание
</div>

Формат `Values` выводит каждую строку в круглых скобках.

* Строки разделяются запятыми, без запятой после последней строки.
* Значения внутри скобок также разделяются запятыми.
* Числа выводятся в десятичном формате без кавычек.
* Массивы выводятся в `[]`.
* Строки, даты, а также значения даты и времени выводятся в кавычках.
* Правила экранирования и парсинга аналогичны формату [TabSeparated](/ru/reference/formats/TabSeparated/TabSeparated).

При форматировании дополнительные пробелы не вставляются, но при парсинге они допустимы и пропускаются (кроме пробелов внутри значений массива, где они не допускаются).
[`NULL`](/ru/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`](/ru/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`](/ru/reference/settings/formats#input_format_values_interpret_expressions)                     | если поле не удалось разобрать с помощью стримингового парсера, запустить SQL-парсер и попытаться интерпретировать его как SQL-выражение.                                                                                   | `true`       |
| [`input_format_values_deduce_templates_of_expressions`](/ru/reference/settings/formats#input_format_values_deduce_templates_of_expressions) | если поле не удалось разобрать с помощью стримингового парсера, запустить SQL-парсер, определить шаблон SQL-выражения, попытаться разобрать по этому шаблону все строки, а затем интерпретировать выражение для всех строк. | `true`       |
| [`input_format_values_accurate_types_of_literals`](/ru/reference/settings/formats#input_format_values_accurate_types_of_literals)           | при разборе и интерпретации выражений с использованием шаблона проверять фактический тип литерала, чтобы избежать возможных проблем с переполнением и потерей точности.                                                     | `true`       |
