column
sql*plus默认使用表中的列为查询输出的列名,或者表达式为查询输出的列名。
为了提高可读性,可以使用column改变输出显示的列的列名.
SQL> column amsal heading 'manager''s salary'
SQL> select amid,amsal
2 from acctmanager;
AMID manager's salary
-------- ----------------
0001 7000
可以使用|让要显示的列名分成多行。
SQL> column amsal heading 'manager''s|salary'
SQL> select amid,amsal
2 from acctmanager;
manager's
AMID salary
-------- ----------
0001 7000
SQL> column first_name format a12
SQL> column lastt_name format a12
SQL> select first_name,last_na
2 from employees;
FIRST_NAME LAST_NAME
------------ -----------------
Steven King
Neena Kochhar
Lex De Haan
Alexander Hunold
Bruce Ernst
David Austin
Valli Pataballa
Diana Lorentz
设置first_name,last_name栏输出的宽度。
SQL> column amsal format $99,990 //对数值的输出进行格式化
SQL> /
AMID AMSAL
-------- --------
0001 $7,000
cloumn设置的列的标题会一直有效,直到更改该列的标题,或者退出sql*plus
与使用 column column_name clear命令清除设置。
也可以使用clear columns 清除所有列的标题设置。
SQL> clear columns
columns 已清除
numwidth:
输出类型域的长度,默认值是10
SQL> show numwidth
numwidth 10
SQL> set numwidth 5
SQL> select 4444 from dual;
4444
-----
4444
SQL> select 44445 from dual;
44445
-----
44445
SQL> select 444456 from dual; //numwidth长度不够将会显示的结果
444456
------
#####
SQL> select 55555578 from dual;
55555578
--------
5.6E+07
当numwidth长度不够但是数值达到千万级的时候会使用科学计数法。
注意:当用column设置数值的显示以后,numwith的设置就该列无效了。
SQL> show numwidth
numwidth 5
SQL> column amsal format $999
SQL> /
AMID AMSAL
-------- -----
0001 #####
linesize:
默认值是80,设置一行显示的字符数。
SQL> show linesize
linesize 80
SQL> set linesize 400
SQL> select * from employees;
这样employees表中的所有的列都可以显示在同一行中。
pagesize:
一页显示多少行。默认值是14.该值设置为0将不会分页。
SQL> show pagesize
pagesize 14
SQL> set pagesize 0
underscore:
默认是'-',设置标题下面的下划线的样式。
SQL> show underline
underline "-" (hex 2d)
SQL> set underline *
SQL> select first_name,last_name,salary
2 from employees;
FIRST_NAME LAST_NAME SALARY
**************************************** ************************************************** ******
Steven King 30000
Neena Kochhar 17000
Lex De Haan 17000
Alexander Hunold 9000
Bruce Ernst 6000
David Austin 4800
Valli Pataballa 4800
Diana Lorentz 4200
Nancy Greenberg 12000
Daniel Faviet 9000
John Chen 8200
SQL> set underline '-' //改回默认值。
break:
设置格式改变的样式,以及出现的条件。
break on column_name
消除order by 子句中column_name中的重复值。
SQL> select department_id,employee_id,salary
2 from employees
3 where salary>15000
4 order by department_id;
DEPARTMENT_ID EMPLOYEE_ID SALARY
------------- ----------- ----------
90 100 30000
90 102 17000
90 101 17000
SQL> break on department_id
SQL> /
DEPARTMENT_ID EMPLOYEE_ID SALARY
------------- ----------- ---------- //重复值(90)消除了.
90 100 30000
102 17000
101 17000
break on column_name skip n
当column_name中的值改变的时候就插入n行空白行.并消除column_name
中的重复值。
SQL> break on department_id skip 1
SQL> select department_id,employee_id,salary
2 from employees
3 where salary>12000
4 order by department_id;
DEPARTMENT_ID EMPLOYEE_ID SALARY
------------- ----------- ----------
20 201 13000
80 146 13500
145 14000
90 101 17000
100 30000
102 17000
使用break命令列出当前的break定义
SQL> break
break on department_id skip 1 nodup
SQL> clear break
breaks 已清除
清除当前的break定义
添加新评论0 条评论