如何在oracle sqlplus中更清楚地显示表数据

Nub*_*iya 27 database oracle sqlplus

我希望能够以漂亮的方式显示select中的结果数据,而不是其他列下的所有列.

以下是sqlplus显示我的表数据的方式:

在此输入图像描述

但我想把它们表现为:

Name   |    Address    |    Phone    |
-------+---------------+-------------+
name1  |    address1   |    phone1   |
name2  |    address2   |    phone2   |
name3  |    address3   |    phone3   |
Run Code Online (Sandbox Code Playgroud)

不是每一列都在另一列之下

Ale*_*ole 54

我通常从以下内容开始:

set lines 256
set trimout on
set tab off
Run Code Online (Sandbox Code Playgroud)

看看help set,如果你有安装的帮助信息.然后,select name,address而不是select *如果你真的只希望这些两列.

  • @ user206168 - 问题是关于SQL*Plus.你可以扩展一些不起作用的东西吗? (2认同)

Ton*_*ews 42

如果你的意思是你想看到他们这样:

WORKPLACEID NAME       ADDRESS        TELEPHONE
----------- ---------- -------------- ---------
          1 HSBC       Nugegoda Road      43434
          2 HNB Bank   Colombo Road      223423
Run Code Online (Sandbox Code Playgroud)

然后在SQL Plus中你可以像这样设置列宽(例如):

column name format a10
column address format a20
column telephone format 999999999
Run Code Online (Sandbox Code Playgroud)

您还可以根据需要指定行大小和页面大小,如下所示:

set linesize 100 pagesize 50
Run Code Online (Sandbox Code Playgroud)

您可以在运行查询之前通过在SQL Plus中键入这些命令来执行此操作.或者您可以将这些命令和查询放入脚本文件,例如myscript.sql并运行它.例如:

column name format a10
column address format a20
column telephone format 999999999

select name, address, telephone
from mytable;
Run Code Online (Sandbox Code Playgroud)

  • 另外我们可能想要'SET PAGESIZE 200`(比如说)以减少大结果集中列标题的重复. (3认同)

小智 5

您可以根据窗口的宽度设置线条大小,并使用以下命令设置环绕。

set linesize 160;
set wrap off;
Run Code Online (Sandbox Code Playgroud)

我已经根据我的喜好使用了 160,您可以将其设置为介于两者之间的某个值,100 - 200并且设置 wrap 不会是您的数据,它将正确显示数据。