SQL*Plus Oracle 中的列格式化

Posted

技术标签:

【中文标题】SQL*Plus Oracle 中的列格式化【英文标题】:Column Formatting in SQL*Plus Oracle 【发布时间】:2018-09-14 18:57:52 【问题描述】:

我在从表中查询时遇到问题。如下所示,表格中的信息分为两部分。如何格式化它以使其显示为一个表格,或者如何将其设置为默认值? 谢谢

SQL*Plus:2018 年 9 月 8 日星期六 15:00:01 发布 11.2.0.2.0 生产版

Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 CUSTOMER#                                 NOT NULL NUMBER(4)
 LASTNAME                                  NOT NULL VARCHAR2(10)
 FIRSTNAME                                 NOT NULL VARCHAR2(10)
 ADDRESS                                            VARCHAR2(20)
 CITY                                               VARCHAR2(12)
 STATE                                              VARCHAR2(2)
 ZIP                                                VARCHAR2(5)
 REFERRED                                           NUMBER(4)
 REGION                                             CHAR(2)

SQL> SELECT lastname || ', ' || lastname AS Name, address, city||', '||state AS Location
  2  from customers;

NAME                   ADDRESS              LOCATION
---------------------- -------------------- ----------------
MORALES, MORALES       P.O. BOX 651         EASTPOINT, FL
THOMPSON, THOMPSON     P.O. BOX 9835        SANTA MONICA, CA
SMITH, SMITH           P.O. BOX 66          TALLAHASSEE, FL
PIERSON, PIERSON       69821 SOUTH AVENUE   BOISE, ID
GIRARD, GIRARD         P.O. BOX 851         SEATTLE, WA
CRUZ, CRUZ             82 DIRT ROAD         ALBANY, NY
GIANA, GIANA           9153 MAIN STREET     AUSTIN, TX
JONES, JONES           P.O. BOX 137         CHEYENNE, WY
PEREZ, PEREZ           P.O. BOX 8564        BURBANK, CA
LUCAS, LUCAS           114 EAST SAVANNAH    ATLANTA, GA
MCGOVERN, MCGOVERN     P.O. BOX 18          CHICAGO, IL

NAME                   ADDRESS              LOCATION
---------------------- -------------------- ----------------
MCKENZIE, MCKENZIE     P.O. BOX 971         BOSTON, MA
NGUYEN, NGUYEN         357 WHITE EAGLE AVE. CLERMONT, FL
LEE, LEE               P.O. BOX 2947        CODY, WY
SCHELL, SCHELL         P.O. BOX 677         MIAMI, FL
DAUM, DAUM             9851231 LONG ROAD    BURBANK, CA
NELSON, NELSON         P.O. BOX 563         KALMAZOO, MI
MONTIASA, MONTIASA     1008 GRAND AVENUE    MACON, GA
SMITH, SMITH           P.O. BOX 1151        MORRISTOWN, NJ
FALAH, FALAH           P.O. BOX 335         TRENTON, NJ

20 rows selected.

SQL>

【问题讨论】:

【参考方案1】:

您可以通过pagesize 设置来控制它:

SET pagesize 1000

您可以将此命令放在名为login.sql 的文件中,这样每次从该目录打开 SQL*Plus 时都会调用它。

【讨论】:

以上是关于SQL*Plus Oracle 中的列格式化的主要内容,如果未能解决你的问题,请参考以下文章

SQL 和 SQL*Plus 有啥区别? [关闭]

在 Oracle SQL 中组合不同的日期和时间列以创建一个具有日期/时间格式的列

如何以输出生成“创建表语句”的方式格式化 Oracle SQL 查询?

怎么显示Oracle数据库表中的列

如何在 sql*plus 中修复我的假脱机 csv 文件中的格式

Oracle附录——连接数据库