我想将查询输出分成Oracle中的两列

时间:2015-07-27 23:52:37

标签: sql csv oracle11g

首先, 因为我英语不好而感到抱歉 但我需要你的帮助。

我的问题是:

我想将查询输出分成oracle中的两列并保存为.csv文件

我的查询是

spool test.csv; 
select record_id||'|'||message_text 
from x$dbgalertext; 
spool off

我想要的是:

column1    column2
recordid | message_text
1        |     values~~
2        |     values~~~

但我得到的是

column1
recordid
ㅡㅡㅡㅡㅡㅡ
1
ㅡㅡㅡㅡㅡㅡ
messagetext
ㅡㅡㅡㅡㅡㅡ
values....

奇怪的是...... 当值很短时,如

(1,'aaa')
(2,'bbb')

按预期划分。

1 个答案:

答案 0 :(得分:0)

SQL * PLUS正在进行其行长度管理“神奇”。您可以尝试此查询:

 select record_id || '|' || SUBSTR(message_text, 50) message_text
from x$dbgalertext; 

如果不起作用,请在SPOOL命令后立即尝试使用SET LINESIZE 80或某些此类命令。