Oracle 解决显示凌乱串行问题及column、pagesize、linesize的设定

本文主要是介绍Oracle 解决显示凌乱串行问题及column、pagesize、linesize的设定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在查询时经常出现的问题就是,查询的显示结果格式凌乱。

这个主要因为行,页,字段宽度设置不够显示而错位

下面是经常出现的效果:

格式不对

解决问题方法:

SQL> set linesize 1000

SQL> set pagesize 100

问题基本得以解决,下面详细说一下命令及参数意义

使用linesize命令
设置一行显示的字符数量,默认情况下显示80个字符
set linesize n(有效范围是1-32767)
SQL> set linesize 1000
SQL>r
若还是没显示完全进一步设置pagesize

使用pagesize命令
使用此命令,可以设置每一页的大小,从而控制每一页显示的数据量
set pagesize n(n最大值为50000,默认值为14,到了14行会把标题再次打出,下面跟数据)
SQL> set pagesize 100
SQL>r

除了上述还可以通过COL命令设置字段宽度,因为有些时候一个字段会空留出很多空字符

如col file_name for a50;
就是指file_name这个字段会占据50列,如果实际的值超过50列,就只能换行了
for 其实是format的缩写,示例如下
Sql>select empno,ename,job from emp; 
   EMPNO ENAME    JOB       
   ----------  ----------    ----------------- 
   7369      SMITH    CLERK    
   7499      ALLEN    SALESMAN 
   7521      WARD    SALESMAN 
Sql> col ename format a40

Sql> r  

   EMPNO ENAME                                   JOB 
   ---------- ---------------------------------------- ---------

   7369     SMITH                                      CLERK 
   7499     ALLEN                                      SALESMAN 
   7521     WARD                                      SALESMAN 

常用命令:

set line 200

set pagesize 10000

set heading off

col EMPLOYEE_ID FOR 9999

col FIRST_NAME FOR A15

col LAST_NAME FOR A15

col EMAIL FOR A8

col PHONE_NUMBER FOR A20

col HIRE_DATE FOR A15

col JOB_ID FOR A15

col SALARY FOR 9999999.99

col COMMISSION_PCT FOR 9999.99

col DEPARTMENT_ID FOR 9999

set feedback off

spool D:/app/data.txt

select * from employees;

spool off

COL命令:
主要格式化列的显示形式。
该命令有许多选项,具体如下:
COL[UMN] [{ column|expr} [ option ...]]
Option选项可以是如下的子句:
www.2cto.com
ALI[AS] alias
CLE[AR]
FOLD_A[FTER]
FOLD_B[EFORE]
FOR[MAT] format
HEA[DING] text
JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}
LIKE { expr|alias}
NEWL[INE]
NEW_V[ALUE] variable
NOPRI[NT]|PRI[NT]
NUL[L] text
OLD_V[ALUE] variable
ON|OFF
WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]

set命令详解

SQL>set colsep '|'; //输出分隔符
eg、
SQL> set colsep '|';
SQL> select * from dept;

    DEPTNO|DNAME         |LOC
———-|————–|————-
        10|ACCOUNTING    |NEW YORK
        20|RESEARCH      |DALLAS
        30|SALES         |CHICAGO
        40|OPERATIONS    |BOSTON

SQL>set echo off; //显示start启动的脚本中的每个sql命令,缺省为on
SQL>set echo on; //设置运行命令是否显示语句
eg、
SQL> set echo on;
SQL> start d:/log.sql;
SQL> select * from dept
  2  /

    DEPTNO|DNAME         |LOC
———-|————–|————-
        10|ACCOUNTING    |NEW YORK
        20|RESEARCH      |DALLAS
        30|SALES         |CHICAGO
        40|OPERATIONS    |BOSTON

SQL>set feedback on; //设置显示“已选择XX行”
SQL>set feedback off; //回显本次sql命令处理的记录条数,缺省为on
SQL>set heading on; //输出字段标题,缺省为on
SQL>set pagesize 0;  //输出每页行数,缺省为24,为了避免分页,可设定为0。
SQL>set linesize 80; //输出一行字符个数,缺省为80
SQL>set numwidth 12; //输出number类型长度,缺省为10
SQL>set termout off; //显示脚本中的命令的执行结果,缺省为on
SQL>set trimout on; //去除标准输出每行的拖尾空格,缺省为off
SQL>set trimspool on; //去除重定向(spool)输出每行的拖尾空格,缺省为off
SQL>set serveroutput on; //设置允许显示输出类似dbms_output
SQL>set timing on; //设置显示“已用时间:XXXX”
SQL>set autotrace on; //设置允许对执行的sql进行分析
SQL>set verify off; //可以关闭和打开提示确认信息old 1和new 1的显示.
eg、
SQL> SET VERIFY ON;
SQL> SELECT empno, ename, sal, deptno FROM emp WHERE empno = &employee_num;
输入 employee_num 的值:  7369
原值 1: SELECT empno, ename, sal, deptno FROM emp WHERE empno = &employ
新值 1: SELECT empno, ename, sal, deptno FROM emp WHERE empno = 7369

 DEPTNO|DNAME         |LOC
---———-|————–|————-
        7369|SMITH     |      8888|        20

SQL> show arraysize
SQL> set arraysize 20
它表示从Oracle服务器端一次只传递15行记录到客户端(SQLPLUS),SQLPLUS中arraysize默认为15。

SQL> show long //设置显示long,lob等型字段的长度,默认为80
SQL> set long 80 

SQL> show PAUSE //设置滚屏是否自动
SQL> set PAUSE  {OFF | ON | text}

这篇关于Oracle 解决显示凌乱串行问题及column、pagesize、linesize的设定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/815599

相关文章

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束