spool导出数据文件中字段间空白大问题

fengling8012 2011-08-26 09:50:18
如何控制导出数据中字段间的大量空白,难道SPOOL不支持吗?查询了一天都没搞定!麻烦哪位人员指点下如何去掉空白,谢谢??

什么方法都试了,就是不行!

set echo off ;
set pages 0 ;
set feedback off;
set heading off;
set verify off;
set numwidth 5 ;
set linesize 11;
set trims on;
spool d:\PROD_OFFER_PRIVILEGE.txt
select replace(PROD_OFFER_PRIV_ID,chr(32),'')||'|',replace(SEQ,chr(32),'')||'|',replace(PRIVILEGE_ID,chr(32),'')||'|' from PROD_OFFER_PRIVILEGE ;
spool off;
exit

如:
a| 22| 3| --》如何能变成a|22|3|
...全文
767 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
allenyuzi 2012-10-10
  • 打赏
  • 举报
回复
)||'|', 把最后的逗号去掉
fengling8012 2011-08-26
  • 打赏
  • 举报
回复
SQL>
SQL> set echo off ;
SQL> set pages 0 ;
SQL> set feedback off;
SQL> set heading off;
SQL> set verify off;
SQL> set numwidth 5 ;
SQL> set linesize 11;
SQL> --set trims on;
SQL>
SQL> spool d:\PROD_OFFER_PRIVILEGE.txt
Started spooling to d:\PROD_OFFER_PRIVILEGE.txt
SQL> select replace(PROD_OFFER_PRIV_ID,chr(32),'')||'|',replace(SEQ,chr(32),'')||'|',replace(PRIVILEGE_ID,chr(32),'')||'|' from PROD_OFFER_PRIVILEGE ;
1040| 0| 345|
347|
1404| 0| 343|
1405| 0| 344|
1381| 0| 345|
1501| 0| 358|
1502| 0| 358|
1520| 0| 358|
1527| 0| 358|
1524| 0| 358|
1526| 0| 347|
SQL> spool off;
Stopped spooling to d:\PROD_OFFER_PRIVILEGE.txt

SQL> desc PROD_OFFER_PRIVILEGE
Name Type Nullable Default Comments
------------------ ----------- -------- ------- --------
PROD_OFFER_PRIV_ID NUMBER(9)
SEQ NUMBER(3)
PRIVILEGE_ID NUMBER(9) Y -------------我这个不行呢,你那个真不会出现空格呀
BenChiM888 2011-08-26
  • 打赏
  • 举报
回复

--实验了一下没有出现你说的问题
[TEST@orcl] SQL>select * from t1;

ID NAME SCORE
---------- ---------- ----------
1 张三 100
2 李四 50
3 王五 60

[TEST@orcl] SQL>desc t1
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER
NAME VARCHAR2(10)
SCORE NUMBER(10)

[TEST@orcl] SQL>set echo off ;
[TEST@orcl] SQL>set pages 0 ;
[TEST@orcl] SQL>set feedback off;
[TEST@orcl] SQL>set heading off;
[TEST@orcl] SQL>set verify off;
[TEST@orcl] SQL>set numwidth 5 ;
[TEST@orcl] SQL>set linesize 11;
[TEST@orcl] SQL>set trims on;
[TEST@orcl] SQL>spool d:\PROD_OFFER_PRIVILEGE.txt
[TEST@orcl] SQL>select replace(id,chr(32),'')||'|'||replace(name,chr(32),'')||'|'||replace(score,chr(32),'')||'|' from t1 ;
1|张三|100|
2|李四|50|
3|王五|60|
[TEST@orcl] SQL>spool off;
[TEST@orcl] SQL>exit
从 Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options 断开

--下面是文件内容
[TEST@orcl] SQL>select replace(id,chr(32),'')||'|'||replace(name,chr(32),'')||'|'||replace(score,chr(32),'')||'|' from t1 ;
1|张三|100|
2|李四|50|
3|王五|60|
[TEST@orcl] SQL>spool off;

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧