我正在使用这个脚本:
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行重复显示标题?
答案 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
这应该可以正常运行,假设c1
,c2
和c3
列为varchar
,这与标题记录中显示的文字兼容。