oracle 使用spool 生产脱机文件时,每行有多余的空格怎么办?

#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,每行末尾是不会有空格的。
请使用浏览器的分享功能分享到微信等