SQL*Plus 格式化查詢結果


為了在 SQL*Plus 環境中生成符合用戶需要規范的報表,SQL*Plus 工具提供了多個用於格式化查詢結果的命令,使用這些命令可以實現設置列的標題、定義輸出值的顯示格式和顯示寬度、為報表增加頭標題和底標題、在報表中顯示當前日期和頁號等。

一、Column 命令

  該命令可以實現格式化查詢結果、設置列寬度、重新設置列標題等功能。

  語法格式:

col[umn]  [column_name | alias | option]
  • columen_name:用於指定設置的列的名稱。
  •      alias:用於指定列的別名,通過它可以把英文列標題設置為漢字。
  •      option:用於指定某個列的顯示格式,option 選項的值及其說明如下:
option 選項的值 說明
clear 消除指定列所設置的顯示屬性,從而回復列使用默認的顯示屬性
format 格式化指定的列
heading 定義列標題
justify 調整列標題的對其方式。默認數值類型的列為右對齊,其他類型的列為左對齊
null 指定一個字符串,如果列的值為null,則由該字符串代替
print/noprint 心事列標題或隱藏列標題,默認為print
on|off 控制定義的顯示屬性的狀態,off表示定義的所有顯示屬性都不起作用,默認為on
wrapped 當字符串的長度超過顯示寬度時,將字符串的超出部分折疊到下一行顯示
word_wrapped 表示從一個完整的字符處折疊
truncated 表示截斷字符串尾部

  如果關鍵字 column 后面未指定任何參數,則 column 命令將顯示 SQL*Plus 環境中所有列的當前定義屬性;如果在 column 后面指定某個列名,則顯示指定列的當前定義屬性。

  常用 option 選項如下:

  1、format 命令

    該選項用於格式化指定的列,需要在 format 關鍵字的后面跟一個掩碼格式。

  2、heading 命令

    該選項用於定義列標題,比如,許多數據表或試圖的列名都為英文格式,可以使用此選項將英文形式的列標題顯示為中文格式。

    EG:

SQL > col empno heading  雇員編號
SQL > col ename heading  雇員姓名
SQL > select  empno,ename from scott.emp

      這樣就可以將數據庫查出來的列名以中文的格式顯示

  3、null 命令

    該選項的后面指定一個字符串,如果列的值為 null,則用字符串代替空值。

    EG:

SQL > col  common null "空值"
SQL > select empno,common from scott.emp where comm is null

     這樣當從表中查出來的common 的這一列沒有值得時候,就會在common 這一列下面顯示 “空值” 的字符串。

  4、on | off  命令

    該選項用於控制定義的顯示屬性的狀態,off 表示定義的所有顯示屬性都不起作用,默認為 on。

  5、wrapped / word_wrapped 選項

    這兩個選項都用於實現折行的功能,wrapped 選項按照指定長度折行,Word_wrapped  選項按照完整的字符折行。

二、Ttitle 和 Btitle

  在 SQL*Plus 環境中,執行 SQL語句后的顯示結果在默認情況下包括列標題、頁分割線、查詢結果和行數合計等內容。可以為整個輸出結果設置報表頭(頭標題)、為每頁都這是頁標題和頁碼、為整個輸出結果設置報表尾,會使打印報表更美觀。SQL*Plus 就為我們提供了 Ttitle 和 Btitle 命令,這個兩個命令分別用來設置打印時每頁的頂部和底部標題。

  Ttitle 命令語法格式如下:

Tti[tle] [printspect [text | variable] ...] | [off | on]
  •   printspec:用來作為頭標題的修飾性選項,有如下的值:    
printspec 選項的值 說明
col 指定在當前行的第幾列打印頭部標題
skip 跳到從下一行開始的第幾行,默認為1
left 在當前行中左對齊打印數據
center 在當前行中間打印數據
right 在當前行中右對齊打印數據
bold 以黑體打印數據

 

  •     text:用於設置輸出結果的頭標題(報表頭文字)
  •     variable :用於在頭標題中輸出相應的變量值
  •   off:表示禁止打印頭標題
  •   on:表示允許打印頭標題

  注意:Btitle 的語法格式與 Ttitle 的語法格式相同,如果在 Ttitle 或 Btitle 命令沒有任何參數,則顯示當前的 Ttitle 或 Btitle 的定義。

     每次設置的頭標題和底標題有效期直到本次會話結束后終止。可以使用 ttitle off 命令和 btitle 命令來手動取消頭標題和底標題的設置消息。


免責聲明!

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



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