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

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

# ODBCDriver2

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

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

`ODBCDriver2` フォーマットは、HTTP 経由でクエリ結果を [ClickHouse の `ODBC` ドライバー](/ja/concepts/features/interfaces/odbc)に転送するためのバイナリ出力専用フォーマットです。ドライバーは `default_format` を
`ODBCDriver2` に設定してこのフォーマットをリクエストします。通常、ユーザーが直接選択することはありません。

ストリーム内のすべての整数は、リトルエンディアンのバイト順でエンコードされた符号付き 32 ビット値です。文字列は、バイト長の後に
そのバイト列が続く形式でエンコードされます。出力の構造は次のとおりです。

1. 後続するヘッダー行が 2 行であることを示す値 `2`。
2. 値 `number_of_columns + 1`、文字列 `name`、および各カラム名を含む名前ヘッダー。
3. 値 `number_of_columns + 1`、文字列 `type`、および各 ClickHouse データ型名を含む型ヘッダー。
   これらの型名からは `LowCardinality` ラッパーが取り除かれます。
4. データ行。各行には、結果の各カラムに対して、テキスト形式でシリアライズされ、長さのプレフィックスが付いた値が 1 つずつ含まれます。データ行には
   行数やカラム数は含まれず、ストリームは `EOF` で終了します。

`NULL` 値は長さ `-1` でエンコードされます。空の非 NULL 文字列の長さは `0` です。totals が存在する場合は、
同じ行エンコードを使用し、通常の行の後に続きます。

<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
```

通常、ドライバーは HTTP リクエストに `default_format=ODBCDriver2` を追加し、レスポンスをデコードします。

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

`ODBCDriver2` は、個々の値に対して標準のテキストシリアライゼーション設定を使用します。フォーマット自体に固有の設定はありません。
