【问题标题】:Preserving new line in postgres column while inserting data in linux在linux中插入数据时在postgres列中保留新行
【发布时间】:2013-10-31 04:53:36
【问题描述】:

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

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)

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

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

【问题讨论】:

  • This 可能会有所帮助。
  • 我已经通过在字符串之前包含 E 来修复它,如下所示插入到 stringtest values(1,E'Name : NOC\r\n\r\nDetail : Detail');跨度>

标签: sql postgresql


【解决方案1】:

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

insert into stringtest values(1,E'Name : NOC\r\n\r\nDetail : Detail');

【讨论】:

    猜你喜欢
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多