一、修改列标题名称及对齐方式
先查看下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' 未定义