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

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 格式中字符串的最大允许大小。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