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

RowBinaryWithDefaults

输入输出别名

描述

RowBinary 格式类似,但在每一列前多了一个字节,用于表示是否使用默认值。

使用示例

示例:

SELECT * FROM FORMAT('RowBinaryWithDefaults', 'x UInt32 default 42, y UInt32', x'010001000000')
┌──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允许在 RowBinaryWithNamesAndTypes 输出格式的头部使用 binary encoding 编码并写入类型信息,而不是使用带有类型名称的字符串。false
input_format_binary_decode_types_in_binary_format允许在 RowBinaryWithNamesAndTypes 输入格式的头部使用 binary encoding 解码并读取类型信息,而不是使用带有类型名称的字符串。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