我在postgres中有一个数据库,其中一列包含带有多个列分隔符的文本数据。
因此,当我将数据导出到csv文件时,列混乱!
我需要一个查询,它会忽略单个列中的列分隔符,并提供一个输出,其中列中的数据在同一列中可用,并且不会扩展到下一列。
答案 0 :(得分:0)
此示例表显示您正在讨论的问题:
test=> SELECT * FROM breaks;
┌────┬───────────┐
│ id │ val │
├────┼───────────┤
│ 1 │ text with↵│
│ │ three ↵│
│ │ lines │
│ 2 │ text with↵│
│ │ two lines │
└────┴───────────┘
(2 rows)
然后你可以使用replace
函数用空格替换换行符:
test=> SELECT id, replace(val, E'\n', ' ') FROM breaks;
┌────┬───────────────────────┐
│ id │ replace │
├────┼───────────────────────┤
│ 1 │ text with three lines │
│ 2 │ text with two lines │
└────┴───────────────────────┘
(2 rows)