绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
【SQL*Plus】常用列格式化命令实验参考
2020-01-06 15:16:52
SQL*Plus是DBA亲密的伙伴,很多蕴含在SQL*Plus中列格式化命令可以帮助我们便利的获取并输出数据。简单演示一些常用的列格式化命令,供参考。

1.创建表T
sec@ora10g> drop table t purge;

Table dropped.

sec@ora10g> create table t (x number(10), y varchar2(30));

Table created.

2.初始化一条数据
sec@ora10g> insert into t values (1,'secooler');

1 row created.

3.默认输出格式
sec@ora10g> select * from t;

         X Y
---------- ------------------------------
         1 secooler

4.使用“ALI[AS] alias”
1)设置x列的同名为xxx
sec@ora10g> col x alias xxx;

2)查看x列的格式定义
sec@ora10g> col x
COLUMN   x ON
ALIAS    xxx

5.对数字格式的x列格式化演示
sec@ora10g> col x for 9
sec@ora10g> select * from t;

 X Y
-- ------------------------------
 1 secooler

sec@ora10g> col x for 99
sec@ora10g> select * from t;

  X Y
--- ------------------------------
  1 secooler

sec@ora10g> col x for 99999
sec@ora10g> select * from t;

     X Y
------ ------------------------------
     1 secooler

此时对xxx同名进行格式化等同于对x进行格式化
sec@ora10g> col xxx for 9999999999
sec@ora10g> select * from t;

          X Y
----------- ------------------------------
          1 secooler

sec@ora10g> col x
COLUMN   x ON
ALIAS    xxx
FORMAT   9999999999

6.对VARCHAR2类型的列进行格式化
sec@ora10g> col y for a8
sec@ora10g> select * from t;

          X Y
----------- --------
          1 secooler

sec@ora10g> col y for a80
sec@ora10g> select * from t;

          X Y
----------- ---------------------------------------------------------
          1 secooler

7.使用clear恢复列的默认设置
1)恢复x列的默认设置
sec@ora10g> col x clear
sec@ora10g> select * from t;

         X Y
---------- ----------------------------------------------------------
         1 secooler

2)恢复y列的默认设置
sec@ora10g> col y clear
sec@ora10g> select * from t;

         X Y
---------- ------------------------------
         1 secooler

也可以使用“clear columns”命令清除所有列格式来达到目的。
sec@ora10g> clear columns;
columns cleared
sec@ora10g> select * from t;

         X Y
---------- ------------------------------
         1 secooler

8.使用“HEA[DING]”格式化x列的名字
sec@ora10g> col x heading 'This is column|X'
sec@ora10g> select * from t;

This is column
             X Y
-------------- ------------------------------
             1 secooler

9.演示“NOPRI[NT] | PRI[NT]”
1)不显示x列内容
sec@ora10g> clear columns;
columns cleared
sec@ora10g> select * from t;

         X Y
---------- ------------------------------
         1 secooler

sec@ora10g> col x noprint
sec@ora10g> select * from t;

Y
------------------------------
secooler

2)显示x列内容
sec@ora10g> col x print
sec@ora10g> select * from t;

         X Y
---------- ------------------------------
         1 secooler

10.演示“NUL[L] text”,格式化NULL的显示内容
sec@ora10g> insert into t values (2,null);

1 row created.

sec@ora10g> commit;

Commit complete.

sec@ora10g> select * from t;

         X Y
---------- ------------------------------
         1 secooler
         2

sec@ora10g> col y null "It's NULL"
sec@ora10g> select * from t;

         X Y
---------- ------------------------------
         1 secooler
         2 It's NULL

此时第二行的y列NULL内容显示为“It's NULL”。

11.“JUS[TIFY] {L[EFT] | C[ENTER] | R[IGHT]}”演示
调整列名的现实位置
默认:NUMBER类型靠右显示,其他类型靠左显示
sec@ora10g> col x justify left
sec@ora10g> col y justify left
sec@ora10g> select * from t;

X          Y
---------- ------------------------------
         1 secooler
         2


sec@ora10g> col x justify center
sec@ora10g> col y justify center
sec@ora10g> select * from t;

    X                    Y
---------- ------------------------------
         1 secooler
         2

sec@ora10g> col x justify right
sec@ora10g> col y justify right
sec@ora10g> select * from t;

         X                              Y
---------- ------------------------------
         1 secooler
         2

12.“LIKE {expr | alias}”的演示
sec@ora10g> clear columns;
columns cleared
sec@ora10g> select * from t;

         X Y
---------- ------------------------------
         1 secooler
         2

sec@ora10g> create table t_like (col1 varchar2(100));

Table created.

sec@ora10g> col col1 for a8
sec@ora10g> col y like col1
sec@ora10g> select * from t;

         X Y
---------- --------
         1 secooler
         2

13.小结
SQL*Plus的个性化定制内容非常的丰富,若想让其充分发挥出效力,就需要深入其中,必得其乐。

Good luck.

secooler
10.03.16

-- The End --

分享好友

分享这个小栈给你的朋友们,一起进步吧。

OCM联盟
创建时间:2019-12-27 14:04:54
OCM联盟(OCMU – Oracle Certified Master Union)是一群有着共同理想,共同志向的DBA的家。 ⚠️该小栈仅限ocm成员入驻!审核制! Oracle Certified Master (OCM) -Oracle认证大师,是Oracle认证的别,是对数据库从业人员的技术、知识和操作技能的别的认可。Oracle OCM是解决困难的技术难题和复杂的系统故障的佳Oracle专家人选,也是IT行业衡量IT专家和经理人的高专业程度及经验的基准。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 侯圣文@secooler
    栈主

小栈成员

查看更多
  • gaokeke123
  • ?
  • 山中老狐狸
  • 飘絮絮絮丶
戳我,来吐槽~