修复 Oracle SQL 命令行 [关闭]

Posted

技术标签:

【中文标题】修复 Oracle SQL 命令行 [关闭]【英文标题】:fix Oracle SQL CMD line [closed] 【发布时间】:2020-11-16 16:47:46 【问题描述】:

桌子在下面溢出。请告诉我如何解决它。请

【问题讨论】:

【参考方案1】:

您只需要设置linesize 设置。 linesize 设置控制在换行前一行中出现多少个字符。

【讨论】:

【参考方案2】:

好吧,设置 linesize 可能还不够 - col 是救星,因为它使您能够设置每一列的格式,以便输出看起来不错。此外,对于日期列,您甚至可能需要更改会话以设置默认日期格式(或使用带有适当格式掩码的 TO_CHAR)。

这是一个演示:丑陋的输出:

SQL> select * from emp where rownum = 1;

     EMPNO ENAME      JOB              MGR
---------- ---------- --------- ----------
HIREDATE                   SAL       COMM
------------------- ---------- ----------
    DEPTNO
----------
      7369 SMITH      CLERK           7902
17.12.1980 00:00:00       1000
        20

设置列的格式:

SQL> col empno format 99999
SQL> col ename format a7
SQL> col job format a5
SQL> col mgr format 9999
SQL> col sal format 9999
SQL> col comm format 9999
SQL> col deptno format 999999
SQL> alter session set nls_date_format = 'dd.mm.yyyy';

Session altered.

让我们再试一次:

SQL> select * from emp where rownum < 5;

 EMPNO ENAME   JOB        MGR HIREDATE     SAL  COMM  DEPTNO
------ ------- -------- ----- ---------- ----- ----- -------
  7369 SMITH   CLERK     7902 17.12.1980  1000            20
  7499 ALLEN   SALESMAN  7698 20.02.1981  1600   300      30
  7521 WARD    SALESMAN  7698 22.02.1981  1250   500      30
  7566 JONES   MANAGER   7839 02.04.1981  2975            20

SQL>

在您的查询中,那些 looooong 列:street_address, postal_code, city, state_province 是通过col 格式修复的最明显的候选者。试试看。

:切换到GUI,如(免费)SQL Developer;您只需向左/向右滚动即可看到所有格式正确的内容。

【讨论】:

以上是关于修复 Oracle SQL 命令行 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何通过命令行启动oracle

如何从命令行调用 Oracle SQL 过程?

linux系统sqlplus下怎么退出sql语句

oracle启动的一些基本命令

MySQL命令行导入sql数据库

MySQL命令行导入sql数据库