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

小编 2026-07-02 阅读:1958 评论:0
在查询时经常出现的问题就是,查询的显示结果格式凌乱。 这个主要因为行,页,字段宽度设置不够显示而错位 下面是经常出现的效果: 解决问题方法: SQL> set linesize 1000...

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

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

下面是经常出现的效果:

\"格式不对\"

解决问题方法:

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}

版权声明

本文仅代表作者观点,不代表百度立场。
本文系作者授权百度百家发表,未经许可,不得转载。

上一篇:asp.net MVC分页 下一篇:如何安装mysql
热门文章
  • Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering

    Sequential Monte Carlo Methods (SMC) 序列蒙特卡洛/粒子滤波/Bootstrap Filtering
    Problem Statement 我们考虑一个具有马尔可夫性质、非线性、非高斯的状态空间模型(State Space Model):对于一个时间序列上的观测结果{yt,t∈N}\\{ y_t , t \\in N \\}{yt​,t∈N},我们认为每个观测结果yty_tyt​的生成依赖于一个无法直接观察的隐变量xt∈{xt,t∈N}x_t \\in \\{x_t , t \\in N \\}xt​∈{xt​,t∈N},即:p(...
  • 机房智能化温湿度解决方式之POE供电以太网温湿度传感器

    机房智能化温湿度解决方式之POE供电以太网温湿度传感器
    机房智能化温湿度解决方式之POE供电以太网温湿度传感器 北京盈创力和电子科技有限公司 智能型TCP网口温湿度记录仪 北京IP网络温湿度记录仪厂家,北京盈创力和 北京智能型TCP网口温湿度记录仪IP网络温湿度记录仪是一种新型的基于TCP/IP协议双绞线以太网标准温湿度采集模块,利用它可以实现现场温度值、相对湿度值的采集,同时利用其自身的RJ45通信接口可以方便地和机房监控主机或交换机集线器进行联网。 工作于-40℃~85℃工业级带...
  • Hive 系统函数及示例

    Hive 系统函数及示例
    查看所有系统函数 show functions; 函数分类 内置函数【系统函数】 数学函数: floor、round、ceil、cos、log2等 字符串函数: length、reverse、trim、lower、get_json_object、repeat等 收集函数: size 转换函数: cast 日期函数: year、month、datediff、date、date_add等 条件函数: coalesce、case…w...
  • CSRF的原理和防范措施

    CSRF的原理和防范措施
    a)攻击原理:i.用户C访问正常网站A时进行登录,浏览器保存A的cookieii.用户C再访问攻击网站B,网站B上有某个隐藏的链接或者图片标签会自动请求网站A的URL地址,例如表单提交,传指定的参数iii.而攻击网站B在访问网站A的时候,浏览器会自动带上网站A的cookieiv.所以网站A在接收到请求之后可判断当前用户是登录状态,所以...
  • HTTP状态保持的原理

    HTTP状态保持的原理
    a)在用户登录之后,浏览器返回响应的时候会在响应中添加上cookieb)浏览器接收到cookie之后会自动保存c)当用户再次请求同一服务器中的其他网页的时候,浏览器会自动带上之前保存的cookied)服务接收到请求之后可以请 request 对象中取到cookie 判断当前用户是否登录  Http是无状态的,就是连接时数据互通,关闭后...
标签列表