CSV
描述
逗号分隔值格式(RFC)。 在格式化时,行被双引号括起来。字符串内部的双引号输出为两个连续的双引号。 没有其他字符转义规则。
- 日期和日期时间用双引号括起来。
- 数字不加引号输出。
- 值由分隔符字符分隔,默认为
,
。分隔符字符在设置中定义为 format_csv_delimiter。 - 行使用 Unix 换行符 (LF) 分隔。
- 数组在 CSV 中序列化如下:
- 首先,数组按 TabSeparated 格式序列化为字符串
- 结果字符串以双引号输出到 CSV 中。
- CSV 格式中的元组被序列化为单独的列(即,元组内的嵌套被丢失)。
备注
默认情况下,分隔符为 ,
有关更多信息,请参见 format_csv_delimiter 设置。
在解析时,所有值都可以选择带引号或不带引号解析。支持双引号和单引号。
行也可以不带引号排列。在这种情况下,它们会解析到分隔符字符或换行符(CR 或 LF)。 然而,违反 RFC 的情况是,当不带引号解析行时,前导和尾随的空格和制表符会被忽略。 换行符支持:Unix (LF)、Windows (CR LF) 和 Mac OS Classic (CR LF) 类型。
NULL
的格式按照设置 format_csv_null_representation 进行(默认值为 \N
)。
在输入数据中,ENUM
值可以表示为名称或 id。
首先,我们尝试将输入值与 ENUM 名称匹配。
如果失败且输入值是数字,我们会尝试将该数字与 ENUM id 匹配。
如果输入数据仅包含 ENUM ids,建议启用设置 input_format_csv_enum_as_number 来优化 ENUM
解析。