1

我正在尝试插入包含换行符的字符串列的行。下面给出了创建表语句和插入查询。

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)

应该怎么做才能使用新行而不是转义字符获得所需的结果

要补充的是,如果使用复制插入同一行,则新行将正确保留

4

1 回答 1

5

我已经通过在字符串之前包含 E 来修复它,如下所示

insert into stringtest values(1,E'Name : NOC\r\n\r\nDetail : Detail');
于 2013-10-31T06:10:51.403 回答