首页 运维知识 Oracle SQL*PLUS命令应用 设置显示列格式的相关命令

Oracle SQL*PLUS命令应用 设置显示列格式的相关命令

设置列格式的相关命令 1. 改变列的显示长度 COLUMN column_name FOR[MAT] format 备注: 注意该命令将保持一直生效直至输入了一个新的格式值或者退出…

设置列格式的相关命令

Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图1. 改变列的显示长度

Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图COLUMN column_name FOR[MAT] format
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图备注:
注意该命令将保持一直生效直至输入了一个新的格式值或者退出了SQL*PLUS, 其中字段类型可以为Char, Varchar2, varchar。
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图如果SQL*PLUS的WARP变量的值被设置为”开”(默认值), 那么字段的内容将会在format命令规定的长度处折行, 否则的话超过规定长度的后续字符将会被截取。

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

   2. 格式化NUMBER类型列的显示
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图SQL> COLUMN SAL FORMAT $99,990
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图3. 显示列值时,如果列值为NULL值,用text值代替NULL值
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图COMM NUL[L] text
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图SQL>COL COMM NUL[L] text
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图4. 设置一个列的回绕方式
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图COLUMN WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图备注:此命令常和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)

 

 

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

Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图1.设置一行可以容纳的字符数
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图SQL> SET LIN[ESIZE] {80|n}
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图如果一行的输出内容大于设置的一行可容纳的字符数,则折行显示。
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图2.设置一页有多少行数
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图SQL> SET PAGES[IZE] {24|n}
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图如果设为0,则所有的输出内容为一页并且不显示列标题
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图
3.设置页与页之间的分隔
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图SQL> SET NEWP[AGE] {1|n|NONE}
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图当set newpage 0 时,会在每页的开头有一个小的黑方框。
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图当set newpage n 时,会在页和页之间隔着n个空行。
Oracle SQL*PLUS命令应用 设置显示列格式的相关命令插图当set newpage none 时,会在页和页之间没有任何间隔。

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

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

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的设置则要考虑屏幕和打印机的大小了

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

作者: 小小编

为您推荐

dell R710 更换raid卡后,raid卡信息没有了,处理方案

dell R710 更换raid卡后,raid卡信息没有了,处理方案

1.将一台服务器(A)的硬盘依次拔出,按相同顺序插入另一台同样配置的服务器(B) 2.启动服务器(B) 3.按提示键盘按...
PL SQL Developer 13连接Oracle数据库并导出数据详细操作教程方法

PL SQL Developer 13连接Oracle数据库并导出数据详细操作教程方法

下载 并安装 PL SQL Developer 13,默认支持中文语言 ========================...
关于一条sql语句在mysql中是如何执行的

关于一条sql语句在mysql中是如何执行的

最近开始在学习mysql相关知识,自己根据学到的知识点,根据自己的理解整理分享出来,本篇文章会分析下一个sql语句在my...
关于sql注入姿势总结(mysql)

关于sql注入姿势总结(mysql)

前言 学习了sql注入很长时间,但是仍然没有系统的了解过,这次总结一波,用作学习的资料。 从注入方法分:基于报错、基于布...
关于Oracle SQL外连接

关于Oracle SQL外连接

SQL提供了多种类型的连接方式,它们之间的区别在于:从相互交叠的不同数据集合中选择用于连接的行时所采用的方法不同。 连接...

发表回复

返回顶部