导出文件 Oracle SQL 中存在空格

问题描述 投票:0回答:1

我有 1 个 SQL 文件如下:

set pages 0
set head off
set feedback off
set echo off
set termout off
set wrap off
spool /osp/tmp/bangdd/dumpthe.dump
select a.SERNUM ||','|| b.AMOUNT||','|| b.TOPPF||','|| a.RFPROF from voucher a, SCRATCHP b where b.ri=a.RFPROF and a.sernum='000010263549703';
spool off

使用 cat -A 输出的文件如下。

linus> cat -A dumpthe.dump
000010263549703,20000,020,6                                                     $

你可以看到,从6到$还有很多空格。它使文件大小比正常大小大。我可以使用 sed 命令删除文件中的空间,但我想知道 Oracle SQL 中的任何选项是否可以提供帮助?

sql oracle sqlplus spool
1个回答
0
投票

根据您发布的查询:

  • 000010263549703
    SERNUM
    列的值
  • 20000
    AMOUNT
  • 020
    TOPF
  • 6                                                     $
    RFPROF

没有证据表明查询在输出字符串的末尾连接

$

因此,您得到的正是该栏中的内容。有人在

6
$
之间放置了一堆空格。您可以仅通过查询该列来验证这一点吗?

如果我是对的,并且您想删除空格,请将它们替换为空字符串,例如

select a.SERNUM ||','|| b.AMOUNT||','|| b.TOPPF||','|| 
--
replace(a.RFPROF, ' ', '')             --> this
--
from voucher a, SCRATCHP b 
where b.ri=a.RFPROF and a.sernum='000010263549703';

如果我错了,请发布说明该问题的示例数据,以便我们可以尝试重新创建它并看看会发生什么。

© www.soinside.com 2019 - 2024. All rights reserved.