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

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

【问题讨论】:

    标签: sql oracle cmd sqlplus


    【解决方案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;您只需向左/向右滚动即可看到所有格式正确的内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多