格式化SQL Developer查询的标头

时间:2016-08-19 04:43:22

标签: oracle oracle-sqldeveloper

我正在使用这个脚本:

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行重复显示标题?

2 个答案:

答案 0 :(得分:1)

这让我想起了类似的问题"在sqlplus。

你试过吗?

set linesize 200;

编辑(另外):

我相信这会消除列之间的大量间距:

set sqlformat ansiconsole;

这将把所有行放在另一行之后:

set pagesize 30;

如果它仍然凌乱,请尝试增加数字

答案 1 :(得分: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

这应该可以正常运行,假设c1c2c3列为varchar,这与标题记录中显示的文字兼容。