在 SQLPLUS 中正确格式化表格

Properly Formatting Tables in SQLPLUS

在将其投票为重复问题之前,我已经在 S.O 上花费了很多时间。试图解决这个问题。正如您在下面的屏幕截图中看到的,我的 table 看起来很乱。

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

我无法弄清楚的另一件事是如何使 headers 列的格式正确(不被截断并且全部在同一行)。 *我试过改变线条大小,SET WRAP OFF;等。

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

SQLPLUS布局主要取决于:

  • 他认为你终端的宽度是多少

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

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

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

首先要做的是定义合适的行号,即适合您的终端屏幕的行号。例如,让我们把它设为 120 个字符:

set linesize 120

如果您对Oracle 选择的长度不满意,您可以手动设置每个字段的长度。例如,对于 varchar 字段,您可以这样做:

column first_name format a10

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

删除
column first_name clear

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

有关详细信息,请参阅 the SQLPLUS documentation