PostgreSQL中使用STRING_AGG拼接时如何实现记录间单个换行
PostgreSQL STRING_AGG实现记录间插入单个换行的方案
问题根因
你当前使用的拼接分隔符不是纯换行符,引号包裹的分隔符内容中除了换行,还包含了换行后的大量缩进空格,这些内容会整体作为分隔符插入到每条记录之间,最终导出CSV时就会出现多余换行。
正确实现方式
使用PostgreSQL转义字符串语法指定单个换行符作为分隔符即可:
STRING_AGG(cast(client.nom as varchar(1000)), E'\n')
- 语法说明:字符串前加
E是PostgreSQL转义字符串的标识,只有添加该前缀后,\n才会被识别为单个换行符,否则会被识别为普通的\和n两个字符。 - CSV导出注意事项:如果需要拼接的换行在CSV单元格内正常显示,导出时要开启文本字段用双引号包裹的配置,避免单元格内的换行被识别为新的表格行。
内容的提问来源于stack exchange,提问作者user16898581
相关产品推荐
相关产品推荐

