我有 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 中的任何选项是否可以提供帮助?
根据您发布的查询:
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';
如果我错了,请发布说明该问题的示例数据,以便我们可以尝试重新创建它并看看会发生什么。