`
JEmql
  • 浏览: 61145 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

Oracle sqlplus设置显示格式命令详解

阅读更多

设置列格式的相关命令

 

1. 改变列的显示长度
COLUMN column_name FOR[MAT] format

备注: 
  注意该命令将保持一直生效直至输入了一个新的格式值或者退出了SQL*PLUS, 其中字段类型可以为Char, Varchar2, varchar。

如果SQL*PLUS的WARP变量的值被设置为"开"(默认值), 那么字段的内容将会在format命令规定的长度处折行, 否则的话超过规定长度的后续字符将会被截取。

  如果你有多个相同显示属性的列需要设置,那么使用column 字段名 like 你想要复制显示属性的字段heading 字段名。注意如果不加上后面heading 字段名那么复制的时候连字段名都会复制过去,显然不适合一般要求。

   2. 格式化NUMBER类型列的显示
SQL> COLUMN SAL FORMAT $99,990

3. 显示列值时,如果列值为NULL值,用text值代替NULL值
COMM NUL[L] text
SQL>COL COMM NUL[L] text

4. 设置一个列的回绕方式
COLUMN WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]

备注:此命令常和format合用,当列值过长时可以使用该命令格式话输出, wrapped根据字符长度控制, word_wrapped根据单词控制, truncated则直接截取等长字符。

  5. 清空当前所有列的设置,恢复成默认格式
  CLEAR COLUMNS

 

下面我们来看一下这些命令的综合应用:


SQL> desc testtable;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER
 NAME                                               VARCHAR2(20)
 REMARK                                             VARCHAR2(50)
 SALARY                                             NUMBER

SQL> select * from testtable;

        ID NAME
---------- ----------------------------------------
REMARK
--------------------------------------------------------------------------------
    SALARY
----------
         1 paul

     99999


现在我们要对这个输出进行修改,包括:

①分别设置输出列的长度为2、10、6、8
②分别设置输出列的列名居中
③格式化Salary列的值为$999,999
④将Remark列的空值替换为字符串User description
⑤设置Remark列的回绕方式为按单词回绕

下面我们来看看这个SQL*PLUS命令应该如何写:


SQL> column ID justify center
SQL> column Name justify center format a10
SQL> column Remark justify center format a6 NULL 'User description' word_wrapped
SQL> column salary justify right format $999,999
SQL> select * from testtable;

    ID        NAME    REMARK    SALARY
---------- ---------- ------ ---------
         1 paul       User     $99,999
                      descri
                      ption


看看其中的SQL语句:


Column Remark justify center format a6 NULL 'User description' word_wrapped。


该句设置了:列名居中显示、列的长度为6个字符、空值用'User description'代替、按单词回绕(所以是在User处折行,而不是在User d出折行,虽然列的长度可以为6)

设置页面及行格式的相关命令


1.设置一行可以容纳的字符数
SQL> SET LIN[ESIZE] {80|n}
如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。

2.设置一页有多少行数
SQL> SET PAGES[IZE] {24|n}
如果设为0,则所有的输出内容为一页并且不显示列标题

   3.设置页与页之间的分隔
SQL> SET NEWP[AGE] {1|n|NONE}
当set newpage 0 时,会在每页的开头有一个小的黑方框。
当set newpage n 时,会在页和页之间隔着n个空行。
当set newpage none 时,会在页和页之间没有任何间隔。

备注:以上三个命令经常合用, 首先设置每行显示的最大长度, 再设置每页有多少行, 最后设置页间距. 如果要获取较好格式的话可以配合Column format命令格式化每个字段的长度.


下面我们来实地查看一下上述命令在结果输出中的应用

SQL> select * from testtable;

        ID NAME       REMARK
---------- ---------- --------------------------------------------------
REG_DATE       SALARY
---------- ----------
         1 paul lin
07-6月 -08       5500

         2 bob lin    common user
06-6月 -08       6500


SQL>

下面我们要做的就是:

①调整页面最大显示长度为200
②设置每页只显示一条记录
③每页之间间隔两个空

SQL> set linesize 200 pagesize 1 newpage 2;
SQL>
SQL> /


         1 paul lin                                                      07-6月 -08       5500


         2 bob lin    common user                                        06-6月 -08       6500

SQL>

可以看到页面的输出并不让人满意(标题和虚线都没有了),现在我们使用一种令人比较满意的设置:


SQL> set linesize 200 pagesize 999 newpage;
SQL>
SQL>
SQL> /
        ID NAME       REMARK                                             REG_DATE       SALARY
---------- ---------- -------------------------------------------------- ---------- ----------
         1 paul lin                                                      07-6月 -08            5500
         2 bob lin    common user                                 06-6月 -08            6500

SQL>

实际上该命令的最后设置newpage会在每页的前面加上一个黑色的小方框(在这里不能显示),以提示这是新一页的开始,假如你不想进行任何的提示那么只要设置newpage为none就可以了(你所看到的输出和现在的一模一样)。

至于linesize的设置则要考虑屏幕和打印机的大小了。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/huozhicheng/archive/2010/08/27/5842433.aspx

分享到:
评论

相关推荐

    Oracle SQLPLUS基础及sqlplus命令详解

    Oracle SQLPLUS基础及sqlplus命令详解,详细阐述了oracle sqlplus基本命令和相关用法

    Oracle_SQLPLUS基础及sqlplus命令详解

    Oracle_SQLPLUS基础及sqlplus命令详解

    Oracle sqlplus命令详解

     启动oracle9i数据库命令:  $ sqlplus /nolog  SQL*Plus: Release 9.2.0.1.0 - Production on Fri Oct 31 13:53:53 2003  Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.  SQL> ...

    SQLPLUS 命令

    Oracle SQLPLUS基础及sqlplus命令详解_2014081801Oracle SQLPLUS基础及sqlplus命令详解_2014081801

    Oracle中常用的SqlPlus命令

    Oracle中常用的SqlPlus命令以及命令详解

    sqlplus详解,Sqlplus常用命令

    Sqlplus常用的命令,数据库管理员的学习笔记。

    oracle中 sql * plus界面set 命令详解

    需要通过设置环境参数,使查询显示的数据格式呈现为报表形式,使界面更美观。这是本人学习oracle的笔记,现总结为word表格的形式,各个set命令的取值都有详细介绍。希望对初学者有所帮助。 例如: Set linesize 60 ...

    oracle命令详解

    非常实用的ORACLE初学资料。每一步都经过作者实际操作,绝无错误。 ORACLE默认的scott用户是被锁定的,先解锁就能登陆上了。 使用下面的语句解锁scott: alter user scott account unlock; 解锁之后可能会要求你该密码...

    sqlplus命令解释

    oracle命令解释大全,帮助初学者快速掌握oracle命令,是整理总结篇

    如何找回Oracle中system,sys用户的密码

    这些方法包括使用 SQL*Plus 连接数据库、使用操作系统认证连接数据库、使用 sqlplus 命令行工具、使用 orapwd 命令和使用 su 命令。这些方法可以帮助您快速找回 Oracle 系统用户密码,并恢复数据库的正常使用。

    Oracle数据库学习指南

    4. EXP、IMP 命令详解 5. Oracle Index 的三个问题 6. Oracle PL-SQL语言基础 7. Oracle的分布式管理 8. ORACLE的数据类型 9. Oracle数据库碎片整理 10.ORACLE性能调整1 11.ORACLE性能调整2 12....

    如何正确oracle配置tnsname.ora文件

    Oracle 配置 TNSNAMES.ORA 文件详解 oracle 配置 TNSNAMES.ORA 文件是 Oracle 网络配置的关键步骤。正确配置 TNSNAMES.ORA 文件可以确保 Oracle 客户端与服务器端之间的顺畅连接。本文将详细介绍如何正确配置 ...

    oracle资料(个人整理)

    包括10个word文档,2个pdf,一个excel,一个txt,等等资源,绝对超值。 内容涉及oracle基本查询,sqlplus命令详解,plsql安装、连接数据库、语句优化等等,这里不在详细列举。

    Oracle dataguard实施步骤

    Oracle Dataguard 实施步骤详解 Oracle Dataguard 是 Oracle 数据库的一种高可用性解决方案,通过在备库(Standby)上维护一份主库(Primary)的副本,实现数据的实时同步和灾难恢复。本文将详细介绍 Oracle ...

    Oracle call 和 exec的详解及区别

    exec是sqlplus的命令,只能在sqlplus中使用。 call是sql命令,任何工具都可以使用,call必须有括号,即例没有参数  call必须有括号,即例没有参数 idle> connect /as sysdba 已连接。 sys@PO10> sys@PO10> create ...

    Oracle 10g 学习笔记

    │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT技术社区.mht │ Sequence相关操作命令 - lvhuiqing的专栏 - CSDN博客.mht │ Sequence相关操作...

    LINUX下Oracle数据库用户创建方法详解

    2)首先要打开监听器命令如下:lsnrctl start,然后sqlplus /nolog ,然后conn /as sysdba,然后startup(这一部分命令是用来打开oracle数据库) 3)查看我们常规将用户表空间放置的位置:执行如下sql: SQL> select ...

    linux下安装oracle后使用命令行启动的方法 linux启动oracle

    permission denied的解决方法Linux中Oracle服务启动和停止脚本与开机自启动详解Linux系统中Oracle数据库程序的启动和关闭方式Linux系统下Oracle数据库的安装和启动关闭操作教程Linux下的Oracle启动脚本及其开机自...

Global site tag (gtag.js) - Google Analytics