我试图插入一行包含新行字符的字符串列。下面给出了create table语句和insert查询。
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
如果我们在windows中执行同样的操作,则会得到如下所示的结果集
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/