SQL * Plus输出到单行文本文件

时间:2015-09-02 19:25:26

标签: sql oracle output sqlplus

我正在运行此SQL * Plus命令将结果输出到文本文件:

set pagesize 200
spool d:\TRHMIBS\audit_ufm_report.txt

SELECT to_char(systimestamp,'yyyymmdd hh24:mi:ss') as now , to_char(COUNT(*)/(10*60),'999.99') as processing_rate 
  FROM AUDIT_TRANS U 
  WHERE U.LAST_UPDATED > SYSDATE -10/1440 
/
spool off 
exit;

我收到以下输出。我想把这行放在一行上,比如20150902 5:00:00 36.51。是否有可能做到这一点?

输出文件:

NOW                                                                             
---------------------------------------------------------------------------     
PROCESSING_RATE                                                                 
--------------------------------------------------------------------------------
20150902 15:00:00                                                               
  36.51      

1 个答案:

答案 0 :(得分:2)

SQL * Plus使用默认的返回列元数据,当使用返回变量文本的函数时,这可能很棘手。您可以使用

手动定义任何列的格式
COLUMN NOW FORMAT A20 HEADING "Now"
COLUMN processing_rate FORMAT 999D99 HEADING "Processing rate"

标题是可选的。

查看文档http://docs.oracle.com/database/121/SQPUG/ch_six.htm#SQPUG016