首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

SQL*Plus COL 命令格式化輸出完全指南:欄位寬度、標題、對齊、截斷與屬性持久化

     編輯:Oracle 資料庫相關知識

COL[UMN] 是 SQL*Plus 專用命令,用於控制查詢結果中特定欄位的顯示格式。設定具有 Session 級持久性,直到 CLEAR 或離開 Session。本文詳細說明所有子句與實戰範例。

語法結構

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

主要子句對照表

子句縮寫功能範例
ALIASALI設定欄位別名(僅影響顯示)COL ename ALIAS "Employee Name"
CLEARCLE清除該欄位所有格式設定COL ename CLEAR
FOLD_AFTERFOLD_A該欄位後換行COL ename FOLD_AFTER
FOLD_BEFOREFOLD_B該欄位前換行COL ename FOLD_BEFORE
FORMATFOR指定顯示格式(數值/字串/日期)COL sal FORMAT $99,999.00
HEADINGHEA自訂欄位標題(支援多行 | 分隔)COL ename HEADING "Emp|Name"
JUSTIFYJUS對齊:LEFT/CENTER/RIGHTCOL sal JUSTIFY RIGHT
LIKE-複製另一欄位/別名的格式COL bonus LIKE sal
NEWLINENEWL該欄位前強制換行COL ename NEWLINE
NEW_VALUENEW_V將該欄位值存入變數(用於報表標題)COL deptno NEW_VALUE dno
OLD_VALUEOLD_V將該欄位前一筆值存入變數COL deptno OLD_VALUE pdno
NOPRINT / PRINTNOPRI / PRI隱藏/顯示該欄位COL password NOPRINT
NULLNULNULL 值顯示文字COL comm NULL '(null)'
ON / OFF-啟用/停用該欄位格式COL ename OFF
WRAPPED / WORD_WRAPPED / TRUNCATEDWRA / WOR / TRU長字串處理:換行/斷詞換行/截斷COL notes WRAPPED

實戰範例

1. 修改欄位標題(多行)

SQL> COL loc HEADING "Location|City"
SQL> SELECT deptno, dname, loc FROM dept;

DEPTNO DNAME          Location
------ -------------- -------
    10 ACCOUNTING     NEW YORK

2. 數值格式化:千分位、貨幣符號、小數位

COL sal FORMAT $99,999.00
COL comm FORMAT 99,999.99
SELECT ename, sal, comm FROM emp;

ENAME  SAL        COMM
------ ---------- -------
KING   $5,000.00   0.00

3. 字串截斷與換行控制

COL long_text FORMAT A20 TRUNCATED
COL notes FORMAT A30 WRAPPED

4. 隱藏敏感欄位

COL password NOPRINT
SELECT username, password FROM user_accounts;
-- password 欄位不顯示,但仍可供 NEW_VALUE 變數使用

5. 報表斷頁控制:NEW_VALUE 搭配 TTITLE

COL deptno NEW_VALUE dno NOPRINT
BREAK ON deptno SKIP PAGE
TTITLE LEFT 'Department: ' dno SKIP 2
SELECT deptno, ename, sal FROM emp ORDER BY deptno;

6. 複製格式

COL bonus LIKE sal  -- bonus 直接套用 sal 的 FORMAT、JUSTIFY 等

持久化建議

  • 將常用 COL 設定寫入 login.sql(位於 $ORACLE_HOME/sqlplus/admin/ 或使用者家目錄),每次啟動 SQL*Plus 自動載入。
  • 搭配 SET LINESIZE 200 PAGESIZE 50 獲得最佳終端機顯示效果。

查看目前所有欄位格式

SQL> COL
-- 列出所有已設定格式的欄位及其屬性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved