在SQLPlus中格式化查询的输出

时间:2011-10-13 09:12:32

标签: oracle unix ubuntu formatting sqlplus

我现在正在使用SQLPlus,每当我查询数据库时,结果都是一团糟。换句话说,很难阅读。我想知道是否有人知道如何格式化在Unix服务器上运行的SQLPlus中的查询(列,表等)的输出。但是,我从我的窗口访问服务器。

并且,有人能告诉我在哪里可以从Ubuntu获得SQLPlus吗?

干杯,

4 个答案:

答案 0 :(得分:4)

好的,从SQL Plus开始:

SET LINESIZE 20000 TRIM ON TRIMSPOOL ON
SPOOL output.txt

-- run your queries here

SPOOL OFF
EXIT

另外,René Nyffenegger有一整段专门用于Beautifying SQL*Plus Outputadditional resources on SQL*Plus

答案 1 :(得分:4)

凌乱的sql输出的最大罪魁祸首是长字符列,即varchar2(360)。 sqlplus为输出分配了那么多空间,即使你最多只能使用20个。 您可以使用column指令更改此设置。假设employees表有一个包含360个字符的地址列:

column address format A20
select address from employees;--sqlplus will allocate only 20 characters for the address width

鉴于我使用的数据库包含许多(不必要的)长字符列,这对我来说非常适合。

答案 2 :(得分:0)

由于两件事,你的结果完全混乱:
您正在使用外壳
您的屏幕很小,因此输出线被包裹。

怎么办?
因为它是oracle,忘了ubuntu / windows。下载Oracle SQL DeveloperAqua data studio 它们易于使用,可读的输出格式和可保存的sql脚本。它将节省您阅读/分析查询输出的时间。

答案 3 :(得分:0)

The answer from Benoit正是您要找的。要在Ubuntu中安装SQLPlus,只需从Oracle(otn)下载压缩文件并按照instructions进行操作。