Informix SQL如何插入换行符

  • 一、现象描述

  Informix里更新字段内容包含多个回车符,直接执行会报错如下:

282: Found a quote for which there is no matching quote.

  • 二、解决方法

EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T');

update TAP_BUSSINESS set memo='(1)解决方法一
(2)解决方法二
(3)解决方法三';

 

  • 三、方法说明

    • 3.1 解决方法一

  会话级解决:在当前连接的数据库会话中先调用执行一个UDR过程,即ifx_allow_newlin(boolean),之后再执行带有回车值写入的sql语句即可;

    • 3.2 解决方法二

  数据库实例级别修改配置参数,以支持回车换行写入:即在informix帐户$ONCONFIG文件中将ALLOW_NEWLINE设定为1(默认为0:所有用户不支持写入换行回车)。但此参数修改需要重启数据库生效

  • 四、Oracle怎么做呢

  对于oracle数据库方法更简单,直接在sql语句中使用内部函数即可:换行符=chr(10)||chr(13)

e.g.

 

insert into testTable values ('(1)解决方法一'||chr(10)||chr(13)||'(2)解决方法二');

这样插入的内容为:

“(1)解决方法一

(2)解决方法二”

 

posted @ 2018-12-12 11:38  狐狸小姐18岁  阅读(1157)  评论(0编辑  收藏  举报