01,日期格式化输出
SQL> alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:mi:ss'; SQL> select sysdate from dual; SYSDATE ------------------- 2019-06-21 14:26:08
SQL> alter session set nls_date_format ='yyyy"年"mm"月"dd"日生"'; 会话已更改。 SQL> col HIREDATE heading 生日 SQL> col sal heading 数字 SQL> col sal ename 姓名 SQL> select ename,sal,hiredate from emp; 姓名 数字 生日 ---------- ---------- ----------------- SMITH 800 1980年12月17日生 ALLEN 1600 1981年02月20日生 WARD 1250 1981年02月22日生 JONES 2975 1981年04月02日生 MARTIN 1250 1981年09月28日生 BLAKE 2850 1981年05月01日生 CLARK 2450 1981年06月09日生 SCOTT 3000 1987年04月19日生 KING 5000 1981年11月17日生 TURNER 1500 1981年09月08日生 ADAMS 1100 1987年05月23日生 JAMES 950 1981年12月03日生 FORD 3000 1981年12月03日生 MILLER 1300 1982年01月23日生
02,生成报告
SPOOL命令 SPOOL filename 将缓冲区的内容写到文件中 SPOOL off 终止写命令
03,加标题
ttitle [center|left|right]string 顶标题 btitle [center|left|right]string 底标题 ttitle center 'XX公司人员情况表' btitle left '制表人:赵元杰' right '日期:1998.11月' Clear ttitle
04,
break、compute clear breaks,clear computes break on column 在该列上中断 break on row 在每一行上中断 break on Page break on report skip n 跳过n行 skip page 跳过未用完的页 compute avg compute count compute max compute min compute std compute sum compute var compute num 计算所有行 compute sum of sal on deptno
05,col
COL[UMN] [{ column | expr } [ option_1 ... option_n ] ] column:列名 expr:有效的 SQL 表达式 option_1... option_n:可以是下列之一: ALI[AS] alias CLE[AR] FOLD_A[FTER] FOLD_B[EFORE] FOR[MAT] format HEA[DING] text JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|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]
1). 改变缺省的列标题 COLUMN column_name HEADING column_heading For example: Sql>select * from dept; DEPTNO DNAME LOC ---------- ---------------------------- --------- 10 ACCOUNTING NEW YORK sql>col LOC heading location sql>select * from dept; DEPTNO DNAME location --------- ---------------------------- ----------- 10 ACCOUNTING NEW YORK 2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上: Sql>select * from emp Department name Salary ---------- ---------- ---------- 10 aaa 11 SQL> COLUMN ENAME HEADING ’Employee|Name’ Sql>select * from emp Employee Department name Salary ---------- ---------- ---------- 10 aaa 11 note: the col heading turn into two lines from one line. 3). 改变列的显示长度: FOR[MAT] format Sql>select empno,ename,job from emp; EMPNO ENAME JOB ---------- ---------- --------- 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN Sql> col ename format a40 EMPNO ENAME JOB ---------- ---------------------------------------- --------- 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN 4). 设置列标题的对齐方式 JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]} SQL> col ename justify center SQL> / EMPNO ENAME JOB ---------- ---------------------------------------- --------- 7369 SMITH CLERK 7499 ALLEN SALESMAN 7521 WARD SALESMAN 对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边 5). 不让一个列显示在屏幕上 NOPRI[NT]|PRI[NT] SQL> col job noprint SQL> / EMPNO ENAME ---------- ---------------------------------------- 7369 SMITH 7499 ALLEN 7521 WARD 6). 格式化NUMBER类型列的显示: SQL> COLUMN SAL FORMAT $99,990 SQL> / Employee Department Name Salary Commission ---------- ---------- --------- ---------- 30 ALLEN $1,600 300 7). 显示列值时,如果列值为NULL值,用text值代替NULL值 COMM NUL[L] text SQL>COL COMM NUL[L] text 8). 设置一个列的回绕方式 WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED] COL1 -------------------- HOW ARE YOU? SQL>COL COL1 FORMAT A5 SQL>COL COL1 WRAPPED COL1 ----- HOW A RE YO U? SQL> COL COL1 WORD_WRAPPED COL1 ----- HOW ARE YOU? SQL> COL COL1 WORD_WRAPPED COL1 ----- HOW A www.2cto.com 9). 显示列的当前的显示属性值 SQL> COLUMN column_name 10). 将所有列的显示属性设为缺省值 SQL> CLEAR COLUMNS