跳转到主要内容
输入输出别名

说明

RowBinary 格式类似,但在每一列前都会额外加上一个字节,用于指示是否使用默认值。

示例用法

示例:
Query
SELECT * FROM FORMAT('RowBinaryWithDefaults', 'x UInt32 default 42, y UInt32', x'010001000000')
Response
┌──x─┬─y─┐
│ 42 │ 1 │
└────┴───┘
  • 对于列 x,只有一个字节 01,表示应使用默认值,且该字节之后不再有其他数据。
  • 对于列 y,数据以字节 00 开始,表示该列有实际值,应从后续的 01000000 中读取。

格式设置

以下设置适用于所有 RowBinary 类型的格式。
SettingDescriptionDefault
format_binary_max_string_sizeRowBinary 格式中 String 的最大允许大小。1GiB
output_format_binary_encode_types_in_binary_format允许在请求头中使用binary encoding写入类型,而不是在RowBinaryWithNamesAndTypes输出格式中使用包含类型名称的字符串。false
input_format_binary_decode_types_in_binary_format允许在请求头中使用binary encoding读取类型,而不是在RowBinaryWithNamesAndTypes输入格式中使用包含类型名称的字符串。false
output_format_binary_write_json_as_string允许在RowBinary输出格式中,将JSON数据类型的值写为 JSON String 值。false
input_format_binary_read_json_as_string允许在RowBinary输入格式中,将JSON数据类型的值读取为 JSON String 值。false
最后修改于 2026年6月10日