如何在sqlplus table中有序显示数据

How to display data in an sqlplus table in an orderly manner

我 select 编辑了订单输入架构中客户 table 的每个详细信息,但我的数据未排序。我如何使 table presentable 使每一列和每一行都清晰易读和理解

我使用了 select * 来自 oe.customers 的查询,下面是我的数据是如何被检索到的,这使得它很难阅读。

CUSTOMER_ID CUST_FIRST_NAME      CUST_LAST_NAME
----------- -------------------- --------------------
CUST_ADDRESS(STREET_ADDRESS, POSTAL_CODE, CITY, STATE_PROVINCE, COUNTRY_ID)
--------------------------------------------------------------------------------
PHONE_NUMBERS
--------------------------------------------------------------------------------
NLS NLS_TERRITORY                  CREDIT_LIMIT
--- ------------------------------ ------------
CUST_EMAIL                               ACCOUNT_MGR_ID
---------------------------------------- --------------
CUST_GEO_LOCATION(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_OR
--------------------------------------------------------------------------------
DATE_OF_B MARITAL_STATUS       G INCOME_LEVEL
--------- -------------------- - --------------------
25-MAY-44 single               F A: Below 30,000

CUSTOMER_ID CUST_FIRST_NAME      CUST_LAST_NAME
----------- -------------------- --------------------
CUST_ADDRESS(STREET_ADDRESS, POSTAL_CODE, CITY, STATE_PROVINCE, COUNTRY_ID)
--------------------------------------------------------------------------------
PHONE_NUMBERS
--------------------------------------------------------------------------------
NLS NLS_TERRITORY                  CREDIT_LIMIT
--- ------------------------------ ------------
CUST_EMAIL                               ACCOUNT_MGR_ID
---------------------------------------- --------------
CUST_GEO_LOCATION(SDO_GTYPE, SDO_SRID, SDO_POINT(X, Y, Z), SDO_ELEM_INFO, SDO_OR
--------------------------------------------------------------------------------
DATE_OF_B MARITAL_STATUS       G INCOME_LEVEL
--------- -------------------- - --------------------

Image showing the problem

首先,如果您只是 运行 临时查询,您可能不想使用 SQL*Plus。几乎可以肯定,下载 SQL Developer 会更好,它是一个以漂亮的 GUI 方式呈现查询输出的实际 GUI。

SQL*Plus 是在报告通常意味着生成固定宽度输出的时代设计的,这些输出将在每天早上假脱机到物理打印机,并在绿色条形纸上生成数百页输出,然后分发到公司中的各种人员进行审查。因此,您需要像老派报告开发人员一样思考。

首先,您需要确定您的输出 window 有多宽,并适当地设置您的线宽。如果您的输出 window 是 120 个字符宽,您将从

开始
set linesize 120

现在,您必须计算出在这 120 个字符中有多少 space 是您想要为输出的每一列提供的,因为较大的字符串值将包含在该列中。因此,如果您希望客户的名字和姓氏允许 15 个字符

column cust_first_name format a15;
column cust_last_name format a15;

您需要为要输出的每一列执行此操作。实际上,select 来自 SQL*Plus 的地理位置可能没有意义,您需要 select 该复合对象的组件。