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_size | RowBinary 格式中允许的 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 |