oracle学习笔记值格式化查询结果

一、修改列标题名称及对齐方式

先查看下column的用法格式:

SQL> help column

 COLUMN
 ------

 Specifies display attributes for a given column, such as:
     - text for the column heading
     - alignment for the column heading
     - format for NUMBER data
     - wrapping of column data
 Also lists the current display attributes for a single column
 or all columns.

 COL[UMN] [{column | expr} [option ...] ]

 where option represents one of the following clauses:
     ALI[AS] alias
     CLE[AR]
     ENTMAP {ON|OFF}
     FOLD_A[FTER]
     FOLD_B[EFORE]
     FOR[MAT] format
     HEA[DING] text
     JUS[TIFY] {L[EFT] | C[ENTER] | 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]

 可以使用column 原列名 heading 新列名、例如:

SQL> column empno heading 雇员编号
SQL> column ename heading 雇员姓名
SQL> column job heading 职位
SQL> select empno,ename,job
  2  from emp
  3  ;

  雇员编号 雇员姓名   职位
---------- ---------- ---------
      7369 SMITH      CLERK
      7499 ALLEN      SALESMAN
      7521 WARD       SALESMAN
      7566 JONES      MANAGER
      7654 MARTIN     SALESMAN
      7698 BLAKE      MANAGER
      7782 CLARK      MANAGER
      7788 SCOTT      ANALYST
      7839 KING       PRESIDENT
      7844 TURNER     SALESMAN
      7876 ADAMS      CLERK

  雇员编号 雇员姓名   职位
---------- ---------- ---------
      7900 JAMES      CLERK
      7902 FORD       ANALYST
      7934 MILLER     CLERK

已选择14行。

注意: column 只改变查询结果的显示  表里面的字段是没有变化的

使用column 列名 alias 对齐方式 可以对查询的数据进行对齐方式 如下:

SQL> column empno alias right
SQL> select empno,ename,job from emp;

  雇员编号 雇员姓名   职位
---------- ---------- ---------
      7369 SMITH      CLERK
      7499 ALLEN      SALESMAN
      7521 WARD       SALESMAN
      7566 JONES      MANAGER
      7654 MARTIN     SALESMAN
      7698 BLAKE      MANAGER
      7782 CLARK      MANAGER
      7788 SCOTT      ANALYST
      7839 KING       PRESIDENT
      7844 TURNER     SALESMAN
      7876 ADAMS      CLERK

  雇员编号 雇员姓名   职位
---------- ---------- ---------
      7900 JAMES      CLERK
      7902 FORD       ANALYST
      7934 MILLER     CLERK

已选择14行。

 以上有对empno列设置了右对齐

二、格式化数据的显示格式

可以通过column中有一属性是用来设置显示格式的

column  列名  format 属性

format的属性有以下的几个属性:

an ---- 代表显示的位数,n是一个正整数. an 后面还可以跟参数wra[ppen]|wor[d_wrappend]|tru[ncated]代表的是如果查询出来的数据的位数超过n位的话,是截断还是换行 默认下就是换行。

9  ----  代表禁止显示前导0

0  ----  代表禁止显示后导0

$  ----  代表显示美元符号

L  ----  代表显示本地货币符号。该符号来源于NLS_CURRENCY初始化参数

.   ----  代表小数点位数

,   ----  代表分隔符

S  ----  代表符号位。正数“+”号,负数“-”号。

下面就用上面的符号 测试下:

SQL> column ename heading 雇员姓名 format a5
SQL> column ename1 heading 雇员1 format a5
SQL> column ename2 heading 雇员2 format a5 tru
SQL> column sal1  heading 月薪1 format L99999.99
SQL> column sal2  heading 月薪2 format $00,999.00
SQL> column comm  heading 奖金 format S99999 null 无
SQL> select ename,ename ename1 ,ename ename2,sal,sal sal1,sal sal2,comm from emp where deptno=30;

雇员  雇员1 雇员2        SAL               月薪1       月薪2   奖金
----- ----- ----- ---------- ------------------- ----------- ------
ALLEN ALLEN ALLEN       1600           ¥1600.00  $01,600.00   +300
WARD  WARD  WARD        1250           ¥1250.00  $01,250.00   +500
MARTI MARTI MARTI       1250           ¥1250.00  $01,250.00  +1400
N     N

BLAKE BLAKE BLAKE       2850           ¥2850.00  $02,850.00 无
TURNE TURNE TURNE       1500           ¥1500.00  $01,500.00     +0
R     R

JAMES JAMES JAMES        950            ¥950.00  $00,950.00 无

已选择6行。

 

三、复制列的格式

使用like 类实现多列格式相同,只需定义一列属性的格式,剩下的可以通过like复制实现:

SQL> column ename heading 雇员姓名
SQL> column sal heading 工资
SQL> column sal heading 工资 format L99999.99
SQL> columa comm like sal heading 奖金
SP2-0734: 未知的命令开头 "columa com..." - 忽略了剩余的行。
SQL> columa comm like sal heading 奖金 null 无
SP2-0734: 未知的命令开头 "columa com..." - 忽略了剩余的行。
SQL> column ename heading 雇员姓名
SQL> column sal heading 工资
SQL> column sal heading 工资 format L99999.99
SQL> column comm like sal heading 奖金 null 无
SQL> select ename,sal,comm from emp where empno=7788;

雇员                 工资                奖金
----- ------------------- -------------------
SCOTT           ¥3000.00 无

 

四、显示和恢复列的格式

可以使用column  列名   来显示列的显示格式

可以使用column  列名  clear    恢复默认的显示格式

SQL> column ename
COLUMN   ename ON
HEADING  '雇员姓名'
FORMAT   a5
SQL> column ename clear
SQL> column ename
SP2-0046: COLUMN 'ename' 未定义

  

 

 

你可能感兴趣的:(ORACLE,11G学习笔记)