跳到主要内容
跳到主要内容

RowBinaryWithDefaults

输入输出别名

描述

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

用法示例

示例

查询
SELECT * FROM FORMAT('RowBinaryWithDefaults', 'x UInt32 default 42, y UInt32', x'010001000000')
响应
┌──x─┬─y─┐
│ 42 │ 1 │
└────┴───┘
  • 对于列 x,只有一个字节 01,表示应使用默认值,并且在此字节之后没有提供其他数据。
  • 对于列 y,数据以字节 00 开头,表示列具有应从后续数据 01000000 中读取的实际值。

格式设置

以下设置是所有 RowBinary 类型格式通用的。

设置描述默认值
format_binary_max_string_sizeRowBinary 格式中允许的 String 最大大小。1GiB
output_format_binary_encode_types_in_binary_format允许在使用 RowBinaryWithNamesAndTypes 输出格式时,在标头中使用 二进制编码 而不是带有类型名称的字符串来写入类型。false
input_format_binary_encode_types_in_binary_format允许在使用 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