oracle--sqlplus格式化輸出


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,

breakcompute
 
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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM