使用新行字符informix连接列值

时间:2014-07-10 19:10:18

标签: informix

我想使用informix中另一个表中的多个列值从表中更新列值。

以下是一个例子:

            select name||'\n '||address||'\n '||place, email, phone
            into v_name,v_email,v_phone
            from users where id=v_user_id;
            update users_tab set
            naziv=v_name, telefon=v_phone, email=v_email
            where id=v_id;

我喜欢\ n在数据库列中写为新行字符,如下例所示:

naziv =姓名地址 不是naziv = Name \ nAddress \ nPlace

有没有办法在informix中执行此操作?

2 个答案:

答案 0 :(得分:1)

查看ALLOW_NEWLINE配置参数,或者在相关会话中运行EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T')There's some comments on this issue in the manual

请注意,新行字符必须是文字,即

select name||'
'||address||'
'||place, email, phone
            into v_name,v_email,v_phone
            from users where id=v_user_id;
            update users_tab set
            naziv=v_name, telefon=v_phone, email=v_email
            where id=v_id;

...虽然这在某种程度上取决于编程语言以及如何准备/执行SQL。

答案 1 :(得分:1)

当两个字段包含\n\t时,您可以创建一个包含一次记录的表格,例如:

创建表ccr( cr char(1), tb char(1) );

然后从文本文件加载字符。 进入文件c:\ a.txt

转义字符{\)+ [输入],转义字符(\)+ [标签],

Potgresql 从副本中复制(从*中选择*)从" c:\ a.txt"分隔符',' csv HEADER引用'"'

的Informix: 加载来自a.txt分隔符','插入ccr

使用字符:

选择名称|| cr ||地址|| cr || tb ||地方,电子邮件,电话             到v_name,v_email,v_phone             来自id = v_user_id的用户;             更新users_tab设置             naziv = v_name,telefon = v_phone,email = v_email             其中id = v_id;