2016-08-19 87 views
0

我使用這個腳本:格式化頭

COLUMN c1  HEADING 'Col1' 
COLUMN c2   HEADING 'Col2' 
COLUMN c3 HEADING 'Col3' 
select c1, c2, c3 from t1 ORDER BY c1 

這是它表明:

Col1    Col2 
-------------------- -------------------- 
Col3         
---------------------------------------- 
aaa    bbb     
qqq          

ccc    ddd   
rrr          

eee    fff   
ppp          


Col1    Col2 
-------------------- -------------------- 
Col3         
---------------------------------------- 
ggg    hhh    
iii        

jjj    kkk    
lll       

mmm    nnn    
ooo  

如圖所示,我不知道爲什麼第三列顯示在換行符以及爲什麼每3行重複顯示標題?

回答

1

這讓我想起了sqlplus中類似的「問題」。

你試過了嗎?

set linesize 200; 

編輯(附加):

我相信這消除了很多列之間的間距:

set sqlformat ansiconsole; 

而這將會把所有行陸續:

set pagesize 30; 

如果它仍然凌亂,請嘗試增加數字

0

我同意你目前的輸出是醜陋的。一個解決辦法是隻UNION標題上明確:

SELECT t.c1, t.c2, t.c3 
FROM 
(
    SELECT 'Col1' AS c1, 'Col2' AS c2, 'Col3' AS c3, 1 AS pos 
    FROM dual 
    UNION 
    SELECT c1, c2, c3, 2 AS pos 
    FROM t1 
) t 
ORDER BY t.pos, 
     t.c1 

這應該假設c1c2,並c3varchar,這是出現在頭記錄文本兼容。

+0

感謝您的回答。我想讓它看起來像一個很好的報告,請任何想法? – Tak

+0

如果您想要非常複雜的格式,您可能會更好地使用Java或PHP等工具來處理它。也許其他人可以給你一個'HEADER'的修復。 –

+0

有沒有更好的方式來使用它與HEADING,但避免發生在我身上的問題? – Tak