sqlplus格式化輸出(輸出結果顯示在同一行)

pwz1688發表於2014-01-06
在sqlplus執行sql時,經常碰到顯示結果,跨行輸出,致使可讀性很差,看起來特別亂。可通過set linesize及column命令進行調整。
set linesize 設定sqlplus輸出的最大行寬

column 這個命令很好用,可使用此命修改顯示欄位的長度或名稱,如:
     column c1 format a20           --將列c1(字元型)顯示最大寬度調整為20個字元
     column c1 format 9999999  --將列c1(num型)顯示最大寬度調整為7個字元
     column c1 heading c2       --將c1的列名輸出為c2
示例如下:

點選(此處)摺疊或開啟

  1. SQL> SELECT id,
  2.   2 c123,
  3.   3 substr(c123, 1, instr(c123 || ',', ',', 1, 1) - 1) c1,
  4.   4 substr(c123,
  5.   5 instr(c123 || ',', ',', 1, 1) + 1,
  6.   6 instr(c123 || ',', ',', 1, 2) - instr(c123 || ',', ',', 1, 1) - 1) c2,
  7.   7 substr(c123,
  8.   8 instr(c123 || ',', ',', 1, 2) + 1,
  9.   9 instr(c123 || ',', ',', 1, 3) - instr(c123 || ',', ',', 1, 2) - 1) c3
  10.  10 FROM t_str_col
  11.  11 ORDER BY 1;

  12.         ID C123
  13. ---------- --------------------------------

  14. C1
  15. ----------------------------------------------------------------

  16. C2
  17. ----------------------------------------------------------------

  18. C3
  19. ----------------------------------------------------------------

  20.          1 v11,v21,v31
  21. v11
  22. v21
  23. v31



  24. 已選擇1行。

  25. SQL>
  26. SQL> show linesize
  27. linesize 80
  28. SQL> set linesize 200
  29. SQL> /

  30.         ID C123 C1 C2
  31. ---------- -------------------------------- --------------------------------------------------------

  32. C3
  33. ----------------------------------------------------------------

  34.          1 v11,v21,v31 v11 v21
  35. v31

  36.    
  37. 已選擇1行。

  38. SQL> column c123 format a30
  39. SQL> column c1 format a10
  40. SQL> column c2 format a10
  41. SQL> column c3 format a10
  42. SQL> SELECT id,
  43.   2 c123,
  44.   3 substr(c123, 1, instr(c123 || ',', ',', 1, 1) - 1) c1,
  45.   4 substr(c123,
  46.   5 instr(c123 || ',', ',', 1, 1) + 1,
  47.   6 instr(c123 || ',', ',', 1, 2) - instr(c123 || ',', ',', 1, 1) - 1) c2,
  48.   7 substr(c123,
  49.   8 instr(c123 || ',', ',', 1, 2) + 1,
  50.   9 instr(c123 || ',', ',', 1, 3) - instr(c123 || ',', ',', 1, 2) - 1) c3
  51.  10 FROM t_str_col
  52.  11 ORDER BY 1;

  53.         ID C123 C1 C2 C3
  54. ---------- ------------------------------ ---------- ---------- ----------

  55.          1 v11,v21,v31 v11 v21 v31
  56.    
  57. 已選擇1行。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21251711/viewspace-1067550/,如需轉載,請註明出處,否則將追究法律責任。

相關文章