如何在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 该复合对象的组件。
我 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 该复合对象的组件。