在SQLPLUS中正确格式化表格

时间:2018-12-02 01:59:24

标签: sql sqlplus rdbms

在将这个问题作为重复的问题投票之前,我在S.O上花了很多时间。试图解决这个问题。正如您在下面的屏幕快照中看到的那样,我的表看上去很乱。

对于第一张和第二张表,您可以看到每个表如何有两组列标题。那么,例如,我如何才能将所有5条客户记录都包含在一张表中?

我不知道的另一件事是如何使列标题正确格式化(不被截断,并且都在同一行上)。 *我已尝试更改行大小,SET WRAP OFF;等。 enter image description here

如果有人可以帮助解释此修复程序,将不胜感激!

1 个答案:

答案 0 :(得分:3)

SQLPLUS布局主要取决于:

  • 他认为终端的宽度是

  • 您要显示的字段长度(在数据库结构中定义),或者字段名称的大小

当字段长度的总和大于终端大小时,每行将分成两行或更多行...并且显示变得混乱。

但是您确实可以控制这些参数。

要做的第一件事是定义适当的行大小,即适合终端屏幕的行大小。例如,让我们将其设为120个字符:

set linesize 120

如果您对Oracle选择的长度不满意,则可以手动设置每个字段的长度。例如,对于varchar字段,您可以执行以下操作:

column first_name format a10

,它允许查询结果中名为FIRST_NAME的字段的最大长度为10。该设置将在会话的整个生命周期中应用于具有相同名称的所有列,即使在后续查询中也是如此。可以使用:

将其删除
column first_name clear

您还可以选择格式化数据类型,这将应用于具有相关数据类型的所有列。

有关更多信息,请参见the SQLPLUS documentation