经验 如何在 unload 中输出复杂分隔符
在使用 informix unload 语句生成下载文本文件的时候,有时为了保证输出数据的独立性,应用上会提出特殊要求,不再使用 “|”作为分隔符,而是希望使用更加复杂的符号来作为分隔符,如准备使用 “~!”双字符的组合,这时仅仅依靠 DELIMITER修改缺省分隔符是不够的,但是我们可以结合以下的方法而实现以上的要求。
如有以下的数据表:
{ TABLE "informix".cmsopeninfo row size = 381 number of columns = 9 index size =
51 }
create table "informix".cmsopeninfo
(
cmsacctid char(32) not null ,
usersymid char(14) not null ,
cmsacctname char(50) not null ,
openflag char(1) not null ,
opendate char(8),
openoperid char(6),
closedate char(8),
closeoperid char(6),
memo char(256)
);
revoke all on "informix".cmsopeninfo from "public";
create unique index "informix".cmsopeninfo_idx on "informix".cmsopeninfo
(cmsacctid,usersymid) using btree ;
可以用以下的办法实现以上的业务要求:
unload to "cmsopeninfo.txt" DELIMITER "!"
select
cmsacctid ||"~",
usersymid|| "~",
cmsacctname || "~",
openflag|| "~",
opendate || "~",
openoperid || "~",
closedate ||"~",
closeoperid|| "~",
memo||"~"
fromcmsopeninfo ;
这里实现该问题的要点为,每个需要输出字段后面都是用连接符 粘贴一个我们需要的符号,然后再将 DELIMITER指定为我们需要的另外一个符号,这样就实现了该需求。
小小经验,欢迎讨论。
页:
[1]