admin

在SQLPLUS中正确格式化表格

sql

在将此问题作为重复的问题投票之前,我已经花了相当长的时间尝试解决此问题。正如您在下面的屏幕快照中看到的那样,我的表看上去很乱。

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

我不知道的另一件事是如何获取正确格式化的列标题(不被截断,并且都在同一行上)。*我尝试过更改行大小SET WRAP OFF;等。
在此处输入图片说明

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


阅读 220

收藏
2021-07-01

共1个答案

admin

SQLPLUS的布局主要取决于:

  • 他认为终端的宽度是

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

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

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

首先要做的是定义适当的行大小,即适合您的终端屏幕的行大小。例如,使它为120个字符:

set linesize 120

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

column first_name format a10

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

column first_name clear

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

有关更多信息,请参见SQLPLUS文档

2021-07-01