我正在尝试插入一个包含换行符的字符串列的行。下面给出建表语句和插入查询。
create table stringtest(id int, inputstr character varying(200));
insert into stringtest values(1,'Name : NOC\r\n\r\nDetail : Detail');
插入查询正确执行。但是,当获取同一行时(当 postgres 在 linux 中时),inputstr 的值不会显示为新行,而是显示为
id | inputstr
----+---------------------------------------------------
1 | Name : NOC\r\n\r\nDetail : Detail
如果我们在窗口中执行相同的操作,我们将获得如下所示的所需结果集
ngnms=# select * from stringtest;
id | inputstr
----+----------------------------
1 | Site Name : NOC\r +
| \r +
| Device Detail : agentdname
(1 row)
应该如何使用新行而不是转义字符来获得所需的结果
要补充的是,如果使用copy插入同一行,新行会被妥善保存
最佳答案
我已经通过在带有换行符的字符串之前包含 E 来修复它,如下所示
insert into stringtest values(1,E'Name : NOC\r\n\r\nDetail : Detail');
关于sql - 在 linux 中插入数据时在 postgres 列中保留新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19698702/