Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ODBCDriver2

输入 输出 别名

描述

ODBCDriver2 格式是一种仅输出的二进制格式,用于通过 HTTP 将查询结果传输给 ClickHouse ODBC 驱动程序。该驱动程序会通过将 default_format 设置为 ODBCDriver2 来请求此格式;用户通常不会直接选择该格式。

stream 中的所有整数均为按小端字节序编码的有符号 32 位值。字符串编码由其字节 长度及其后续字节内容组成。输出具有以下结构:

  1. 2,表示后面有两行表头。
  2. 名称表头,包含值 number_of_columns + 1、字符串 name 以及各列的列名。
  3. 类型表头,包含值 number_of_columns + 1、字符串 type 以及各 ClickHouse 数据类型名称。 会从这些类型名称中移除 LowCardinality 包装器。
  4. 数据行。每行中,每个结果列均包含一个经文本序列化、带长度前缀的值。数据行不 包含自身的行数或列数,stream 在 EOF 处结束。

NULL 值的编码长度为 -1;非 NULL 空字符串的长度为 0。总计行 (如有) 使用 相同的行编码,并位于普通行之后。

使用示例

以下查询展示了该格式测试所涵盖的值:

SELECT
    1 AS x,
    [2, 3] AS y,
    'Hello' AS z,
    NULL AS a
FORMAT ODBCDriver2

由于结果为二进制内容,请将其重定向到文件,而非终端:

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,并对响应进行解码。

格式设置

ODBCDriver2 对单个值采用标准的文本序列化设置。它没有格式本身特有的设置。

Navigation