用sqlplus的spool导文本文件

6573阅读 0评论2012-03-09 daydaycome
分类:LINUX


点击(此处)折叠或打开

  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 )
参考:
 
sqlplus user guid:


上一篇:检查函数使用次数
下一篇:统计informix数据库表记录数