> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

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

# ODBCDriver2

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

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

Формат `ODBCDriver2` — двоичный формат только для вывода, используемый для передачи результатов запроса по HTTP в
[драйвер ClickHouse для `ODBC`](/docs/ru/concepts/features/interfaces/odbc). Драйвер запрашивает его, устанавливая `default_format` в
`ODBCDriver2`; пользователи обычно не выбирают этот формат напрямую.

Все целые числа в потоке — знаковые 32-битные значения, закодированные в порядке байтов little-endian. Строка кодируется как её байтовая
длина, за которой следуют сами байты. Вывод имеет следующую структуру:

1. Значение `2`, указывающее, что далее следуют две строки заголовка.
2. Заголовок имён, содержащий значение `number_of_columns + 1`, строку `name` и имена всех столбцов.
3. Заголовок типов, содержащий значение `number_of_columns + 1`, строку `type` и имена всех типов данных ClickHouse.
   Обёртки `LowCardinality` удаляются из этих имён типов.
4. Строки данных. Каждая строка содержит по одному текстово сериализованному значению с префиксом длины для каждого столбца результата. Строки данных не
   содержат собственных счётчиков строк или столбцов, а поток завершается на `EOF`.

Значение `NULL` кодируется длиной `-1`; пустая строка, отличная от NULL, имеет длину `0`. Итоговые значения при наличии используют то же
кодирование строк и следуют за обычными строками.

<div id="example-usage">
  ## Пример использования
</div>

В следующем запросе используются значения, проверяемые тестами формата:

```sql theme={null}
SELECT
    1 AS x,
    [2, 3] AS y,
    'Hello' AS z,
    NULL AS a
FORMAT ODBCDriver2
```

Поскольку результат имеет двоичный формат, перенаправьте его в файл, а не в терминал:

```shell theme={null}
clickhouse-client --query \
    "SELECT 1 AS x, [2, 3] AS y, 'Hello' AS z, NULL AS a FORMAT ODBCDriver2" \
    > result.bin
```

При обычном использовании драйвер добавляет `default_format=ODBCDriver2` к своим HTTP-запросам и декодирует ответ.

<div id="format-settings">
  ## Настройки формата
</div>

`ODBCDriver2` использует стандартные настройки текстовой сериализации отдельных значений. Настройки, специфичные для самого формата, отсутствуют.
