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 ID,建议启用设置 input_format_csv_enum_as_number 以优化 ENUM
解析。