在将这个问题作为重复的问题投票之前,我在S.O上花了很多时间。试图解决这个问题。正如您在下面的屏幕快照中看到的那样,我的表看上去很乱。
对于第一张和第二张表,您可以看到每个表如何有两组列标题。那么,例如,我如何才能将所有5条客户记录都包含在一张表中?
我不知道的另一件事是如何使列标题正确格式化(不被截断,并且都在同一行上)。 *我已尝试更改行大小,SET WRAP OFF;
等。
如果有人可以帮助解释此修复程序,将不胜感激!
答案 0 :(得分:3)
SQLPLUS布局主要取决于:
他认为终端的宽度是
您要显示的字段长度(在数据库结构中定义),或者字段名称的大小
当字段长度的总和大于终端大小时,每行将分成两行或更多行...并且显示变得混乱。
但是您确实可以控制这些参数。
要做的第一件事是定义适当的行大小,即适合终端屏幕的行大小。例如,让我们将其设为120个字符:
set linesize 120
如果您对Oracle选择的长度不满意,则可以手动设置每个字段的长度。例如,对于varchar字段,您可以执行以下操作:
column first_name format a10
,它允许查询结果中名为FIRST_NAME的字段的最大长度为10。该设置将在会话的整个生命周期中应用于具有相同名称的所有列,即使在后续查询中也是如此。可以使用:
将其删除column first_name clear
您还可以选择格式化数据类型,这将应用于具有相关数据类型的所有列。
有关更多信息,请参见the SQLPLUS documentation。