表billcode
billcode   billname            flag
char(2)    char(10)            char(1)
01         转账支票            3
02         现金支票            1
03         汇票申请书          1
使用如下的语句:
set colsep '|'; 
set echo off; 
set feedback off; 
set heading off; 
set pagesize 0; 
set linesize 10000; 
set numwidth 12; 
set termout off; 
set trimout on; 
set trimspool on; 
spool d:\billcode.txt; 
select * from billcode order by billcode;
spool off; 
生成d:\billcode.txt如下
01  |转账支票            |3
02  |现金支票            |1
03  |汇票申请书          |1
要求生成这样的效果:
01|转账支票  |3
02|现金支票  |1
03|汇票申请书|1
去掉多出来的每个字段后面的空格,好像是系统会多一倍的字段定义长度的空格。
如何去掉:???高手指点!

解决方案 »

  1.   

    可以定义每个字段的长度 col billcode format a2 ,但是没有通用性,如果字段n多,怎么办?
    也可以通过
    select billcode||'|'||billname||'|'||flag from billcode order by billcode;
    解决,但是同样字段超多,比较麻烦,是不是有更好的办法,高手指点迷津???
      

  2.   

    ltrim()  rtrim()  or   replace()
      

  3.   

    trim()  解决不了吧   你是要做报表吧   里面有空格也没什么啊
      

  4.   

    字段是CHAR型的会有空格,VARCHAR会去掉空格