首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle SQL*Plus SET 與 COLUMN 命令完全手冊:輸出格式化大師

     編輯:Oracle 資料庫基礎

SET 命令:控制 SQL*Plus 運行環境

命令默認值作用推薦設置
SET TIMING ONOFF顯示每條語句執行耗時ON
SET AUTOTRACE ONOFF顯示執行計劃+統計TRACEONLY EXPLAIN
SET TRIMOUT ONOFF去除標準輸出行尾空格ON
SET TRIMSPOOL ONOFF去除 SPOOL 文件行尾空格ON
SET ECHO OFFON不顯示腳本內部命令OFF
SET FEEDBACK ONON顯示「已選擇 N 行」ON / 6 (僅>6行顯示)
SET COLSEP '|'' '列分隔符,利於導出解析'|' 或 ','
SET HEADING OFFON隱藏列標題導出數據時 OFF
SET PAGESIZE 0240=不分頁,避免重複標題0 (腳本) / 5000 (交互)
SET LINESIZE 20080單行字符寬度,防換行200-32767
SET NUMWIDTH 1210數值列默認寬度12-18
SET TERMOUT OFFON不顯示腳本輸出結果SPOOL 期間 OFF
SET SERVEROUTPUT ONOFF啟用 DBMS_OUTPUT 顯示ON SIZE 1000000
SET VERIFY OFFON關閉新舊值變量替換提示OFF
SET LONG 200000000080LONG/CLOB 顯示長度大數值
SET LONGCHUNKSIZE 100000080LONG 分塊輸出大小大數值

COLUMN (COL) 命令:精準控制列顯示格式

COL[UMN] [{col|expr} [option ...]]
option: ALIAS | CLEAR | FORMAT | HEADING | JUSTIFY | LIKE | NEW_VALUE | NOPRINT | NULL | WRAPPED | WORD_WRAPPED | TRUNCATED

常用 FORMAT 格式元素

類型格式串示例輸入示例輸出
數值99,999.991234.5 1,234.50
數值$99,990.901234.5 $1,234.50
字符A20'Hello World'Hello World
日期無 (用 TO_CHAR)--

實戰範例

-- 1. 給 SAL 列別名並格式化為貨幣
COLUMN sal ALIAS "Monthly Salary" FORMAT $99,990.90

-- 2. 截斷過長字符列,避免換行破壞對齊
COLUMN long_desc FORMAT A30 TRUNCATED

-- 3. 空值顯示為 (null)
COLUMN comm NULL '(null)'

-- 4. 將查詢結果存入變量,供後續腳本使用 (NEW_VALUE)
COLUMN max_sal NEW_VALUE v_max_sal NOPRINT
SELECT MAX(sal) max_sal FROM emp;
-- 後續可用 &v_max_sal 引用

-- 5. 清除列格式化
COLUMN sal CLEAR

黃金組合:生產環境導出腳本模板

SET ECHO OFF
SET FEEDBACK OFF
SET HEADING OFF
SET PAGESIZE 0
SET LINESIZE 32767
SET TRIMSPOOL ON
SET COLSEP ','
SET TERMOUT OFF
SET NUMWIDTH 20

COLUMN empno FORMAT 999999
COLUMN ename FORMAT A20
COLUMN sal   FORMAT 999990.99

SPOOL emp_export.csv
SELECT empno, ename, sal FROM emp ORDER BY empno;
SPOOL OFF

輸出純 CSV,無標題、無分頁、無多餘空格,直接可導入 Excel/ETL。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved