最近朋友提了个问题,通过sqlplus的spool导出数据,格式乱了,如下所示,

表中包含了几十个字段,包括VARCHAR2和NUMBER类型,

我们在sqlplus中,经常用到这几个显示配置参数,

(1) 设置行宽,set linesize 200,表示行宽被设置为200个字符。

(2) 设置列宽,column name format a40,设置name列为40个字符,a表示alphanumeric,是字符的意思。

(3) 设置页面记录,set pagesize 20,设置每20行为一页。

查询结果中,每列的宽度默认是根据该列定义的宽度显示的,例如name列定义20个字符,那么该列就以所定义的20为宽度,除非通过col name format a15限制该列的宽度。

但是因为sqlplus命令窗口的宽度有限,所以有的列定义为5000字符的,其最宽只能按照sqlplus命令行窗口的宽度来显示。

如下表,有字段定义为VARCHAR2(128),有的则定义为VARCHAR2(1),

temporary、secondary这几个字段值小,只定义了VARCHAR2(1),行的宽度会以字段的大小来定义展示,

owner字段值就很大,128个字符,其最宽只能按照sqlplus命令行窗口的宽度来显示,show linesize是80,owner显示的宽度是80,不能是128,

如果将temporary、secondary、owner混合查询,就出现了折行,

如果设置owner列宽度,就可以整行显示,

因此对这个需求,如果是检索所有的字段,确实展示会乱,如果就需要看导出的文本文件,可以选择col设置各个列宽,但是比较繁琐。再追问需求,其实他是想从Oracle导出数据到TeraData,实际不需要看文本文件,其实就可以定好输入的接口格式(或者通过程序,或者通过fastload),导出规定格式的数据,实现这个需求。

P. S. sqlplus的显示控制参数很多,可以参考,

set colsep' '      --行的标题列的分隔符
set linesize(line) --设置sqlplus输出的最大行宽
set pagesize       --设置页面的最大行数 缺省为24,为了避免分页,可设定为0
set serveroutput on|off
set echo on        --显示文件中的每条命令及其执行结果,缺省为on
set echo off       --不显示文件中的命令,只显示其执行结果
set term on        --查询结果既显示于假脱机文件中(spool指定输出的文件),又在SQLPLUS中显示
set term off       --查询结果仅仅显示于假脱机文件中(spool指定输出的文件)
set heading off    --让结果行的标题不显示,缺省为on
set heading on     --让结果行的标题显示
set trimout on    --去除标准输出每行的拖尾空格,缺省为off
set trimspool on   --去除重定向(spool)输出每行的拖尾空格,缺省为off
set timing off     --显示每条sql命令的耗时,缺省为off
set verify off     --是否显示替代变量被替代前后的语句

近期更新的文章:

《最近碰到的一些问题》

《关于数据治理的读书笔记 - 什么是数据治理?》

《关于数据治理的读书笔记 - 数据治理、数据管理和数据管控的理解》

《通过Java得到语句的执行计划》

《MySQL时间分区的实现》

文章分类和索引:

《公众号900篇文章分类和索引》

spool导出格式的问题相关推荐

  1. Oracle通过SPOOL导出数据Excel、CSV、TXT格式

    文章目录 1. SPOOL基础 2. SPOOL使用示例 3. 简化SPOOL导出的一个小(偷懒)脚本   <从来不需要解释 那些所谓奇怪的事 你是上天的恩赐 因为珍惜学会坚持--> 1. ...

  2. sqlplus SPOOL 导出网页文件

    在用spool 导出数据的时候,如果直接导成excel, 那么在格式上比较路,比如一个字段占了2列,这个还是好的,有的占了办列,这个格式看上去还是很麻烦的,所以我们可以使用sqlplus 的marku ...

  3. oracle spool 分隔符_Oracle spool导出数据

    Oracle spool导出数据 freezingsun 2月 7, 2014 Oracle spool导出数据已关闭评论 在工作中,有时需要将表中的数据查询出来,保存成txt格式或者csv格式,以便 ...

  4. Linux平台下Spool导出数据并发送到邮箱

    原 Linux 平台下 Spool导出数据并发送到邮箱https://blog.csdn.net/tianlesoftware/article/details/5224489版权声明: https:/ ...

  5. 屏蔽×××S 2008报表导出格式

    有时企业为了防止操作员将报表数据导出来进行二次加工,此时就需要对×××S的报表导出进行屏蔽.针对此需求,可通过修改配置文件:rsreportserver.config 来实现(该文件位于形如C:\Pr ...

  6. oracle spool循环导出文件,oracle 使用spool导出数据到文件

    --oracle 使用spool导出数据到文件 需要将数据库中的数据以txt文本形式导出,可以用spool方式导出. --创建脚本文件 spool.sql --添加如下语句 SPOOL D:\work ...

  7. 使用spool导出数据

    使用spool导出数据有时候也是一个比较好的选择,7万条数据导出需要10s,注意的是需要用@d:/spool.txt调用,set termout off才会生效不显示到屏幕.SQL语句和spool o ...

  8. endnote导出格式下载地址

    endnote导出格式下载网站 可以选择需要下载的格式,然后放进endnote格式中,然后选择相应的格式即可导出对应格式的参考文献.(具体位置为endnote存放其它style的位置,放进那个文件夹即 ...

  9. SPOOL导出大量数据时,导出不全问题处理

    近日在工作中使用spool方式,将oracle 中400万数据的表数据导出,其中需要关联几张大表,但数据输出为400万左右.在日常运行过程中,会偶尔出现spool导出不完全的情况. 在详细分析spoo ...

最新文章

  1. [转载] 七龙珠第一部——第035话 北方女孩
  2. Flash,一次Bug的思考
  3. bzoj 4753: [Jsoi2016]最佳团体
  4. [转]ESP8266使用详解
  5. centos下搭建nginx+tomcat实现集群负载与session复制
  6. .NET 6 Preview 6 Released
  7. deepin系统转为windows_windows系统下安装深度系统deepin
  8. 贝壳金控赵文乐:基于 Spring Cloud 的服务治理实践
  9. 在浏览器地址栏输入一个URL后回车,背后会进行哪些技术步骤?
  10. 话说地址栏的URL的最大长度
  11. Vue项目设置局域网链接访问
  12. Windows 已经激活,但是显示副本不是正版的解决办法
  13. 牛逼!这个网站可以帮助程序员命名变量和函数!
  14. 由Table_locks_waited想到的mysql 表锁问题
  15. B360主板i5 8400装Win7记录
  16. 树莓派Raspberry Pico RP2040 开发环境配置完全缝合终极版C-SDK
  17. 【打卡-Coggle竞赛学习2023年3月】对话意图识别
  18. 嵌入式C语音基础夯实备用实战
  19. cocos creator 显示截图并保存图片到手机
  20. 【图像去噪】基于matlab全变分算法图像去噪【含Matlab源码 626期】

热门文章

  1. 字节跳动音乐梅开二度,腾讯音乐、网易云要警惕了
  2. 使用docsify搭建在线文档中心
  3. 60英寸的电视长宽是多少
  4. java面试题大全(整理版)
  5. 数论——唯一分解定理
  6. 齐二TK6916/20/26/32系列数控落地铣镗床简介2
  7. 今天,昆山向全世界发出邀请!
  8. avg制作工具 开源_23种开源视听制作工具
  9. Master-MatPyon:学习历程
  10. 2021-04-24