用sqlplus的spool导文本文件

  1. sqlplus user/pwd@database << END
  2. set echo off; --命令不回显 
  3. set feedback off; --不显示已选择行数
  4. set colsep |; --设置列分割符
  5. set linesize 2500; --设置每行最大长度(补空格的) 
  6. set pagesize 0; --设置不分页
  7. set heading off; --不显示列名
  8. set term off; --不显示脚本内容
  9. set trimspool on; --去掉行末的空格,针对spool的文件内容
  10. set trimout on; --去掉行末的空格,针对屏幕输出
  11. set numformat 99999999990.99; --设置数字格式,保留两位位小数,小于0时小数点前补零(0.22)
  12. set sqlnumber off; --sql换行后显示提示符(而不是行号)
  13. spool tmpfilename.txt
  14. sqlstatement;
  15. spool off
  16. END
  17. #去出多余内容
  18. sed -e 's/ //g' -e '/^SQL>/d' tmpfilename .txt > newfilename.txt

 

补充:
set numformat 99999999999.999   --保留三位小数,小于零时小数点前不补零(.222)
用colsep ,导出的字段会按字段长度自动补空格
 
 如果sql语句中用到了连接符“||”,则对输出的格式设置无效 (set numformat )
参考:
http://www.diybl.com/course/7_databases/oracle/oraclejs/20110223/553944.html  
sqlplus user guid:
http://docs.oracle.com/cd/B10501_01/server.920/a90842/toc.htm

 

 

 

你可能感兴趣的:(数据库开发,Oracle相关)