Oracle SQL*PLUS命令应用(三)

Oracle SQL*PLUS命令应用(三)
【3】设置列格式的相关命令

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

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

如果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)


-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要尽力打好一手烂牌。

你可能感兴趣的:(Oracle SQL*PLUS命令应用(三))