- 论坛徽章:
- 0
|
- 在使用 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 || "~"
- from cmsopeninfo ;
- 这里实现该问题的要点为,每个需要输出字段后面都是用连接符 粘贴一个我们需要的符号,然后再将 DELIMITER 指定为我们需要的另外一个符号,这样就实现了该需求。
- 小小经验,欢迎讨论。
复制代码 |
|