oracle 使用spool 生產離線檔案時,每行有多餘的空格怎麼辦?

perfychi發表於2013-06-28
#phone_range.sql#
set pagesize 0
set heading off
set feedback off
set verify off
set term off
set serveroutput on

spool AA.txt
select * from .......;
spool off

發現生成的AA.txt每行末尾有很多空格,這些空格是多餘的,不需要的。

這時候可以用sed命令把多餘的空格處理掉: sed -i 's/[[::space::]]+$//g' AA.txt.
處理後的AA.txt,空格會消失。

那麼為什麼會有空格呢?
這是因為sqlplus 環境裡沒有設定set trimspool on ,這一行。
如果設定成下列:
#phone_range.sql#
set pagesize 0
set heading off
set feedback off
set verify off
set term off
set serveroutput on
set trimspool on

spool AA.txt
select * from .......;
spool off

,這樣生成的AA.txt,每行末尾是不會有空格的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27042095/viewspace-765049/,如需轉載,請註明出處,否則將追究法律責任。

相關文章