sql - 在 SQLPLUS 中正确格式化表

标签 sql database oracle sqlplus

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

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

我不明白的另一件事是如何使列标题格式正确(不被截断并且全部位于同一行)。 *我尝试过更改线条大小、SET WRAP OFF; 等。 enter image description here

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

最佳答案

SQLPLUS 布局主要取决于:

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

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

当字段长度的总和大于终端大小时,每行都会分为 2 行或更多行...并且显示会变得困惑。

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

要做的第一件事是定义适当的线条尺寸,即适合您的终端屏幕的线条尺寸。例如,让我们将其设置为 120 个字符:

set linesize 120

如果您对 Oracle 选择的长度不满意,您可以手动设置每个字段的长度。例如,对于 varchar 字段,您可以执行以下操作:

column first_name format a10

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

column first_name clear

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

有关更多信息,请参阅the SQLPLUS documentation .

关于sql - 在 SQLPLUS 中正确格式化表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53576681/

相关文章:

mysql - 从基于一个表的 4 个表中删除行?

php - 如何在网站后端存储图像文件

php - 从 php 网站连接到 php API

json - HIVE中将JSON格式String转成数组

sql - 生产和开发中的 Oracle sql 日期格式问题

sql - 在sql中,如何从具有from和thru时间戳的记录中选择随机时间

mysql - Hibernate多次查询或通过一次查询获取相关行并在java中处理它们

sql - 改进 SQL 查询

javascript - 是否可以控制复制顺序?

sql - ORA-01031 创建 View 时权限不足?