2011-04-14 82 views

回答

6

你使用什么工具?

如果您正在使用命令行SQL * Plus中,您可能需要使用格式化命令来指定显示应该有多宽是,即

丑陋的数据

SQL> select empno, ename, job, mgr, hiredate, sal, comm, deptno 
    2 from emp; 

    EMPNO ENAME  JOB    MGR HIREDATE   SAL  COMM  D 
EPTNO 
---------- ---------- --------- ---------- --------- ---------- ---------- ----- 
----- 
     7369 smith  CLERK   7902 17-DEC-80  800 
    20 
     7499 ALLEN  SALESMAN  7698 20-FEB-81  1600  300 
    30 
     7521 WARD  SALESMAN  7698 22-FEB-81  1250  500 
    30 
     7566 JONES  MANAGER   7839 02-APR-81  2975 
    20 
     7654 MARTIN  SALESMAN  7698 28-SEP-81  1250  1400 
    30 
     7698 BLAKE  MANAGER   7839 01-MAY-81  2850 
    30 
     7782 CLARK  MANAGER   7839 09-JUN-81  2450 
    10 
     7788 SCOTT  ANALYST   7566 19-APR-87  3000 
    20 
     7839 KING  PRESIDENT   17-NOV-81  5000 
    10 
     7844 TURNER  SALESMAN  7698 08-SEP-81  1500   0 
    30 
     7876 ADAMS  CLERK   7788 23-MAY-87  1110 
    20 

    EMPNO ENAME  JOB    MGR HIREDATE   SAL  COMM  D 
EPTNO 
---------- ---------- --------- ---------- --------- ---------- ---------- ----- 
----- 
     7900 SM0  CLERK   7698 03-DEC-81  950 
    30 
     7902 FORD  ANALYST   7566 03-DEC-81  3000 
    20 
     7934 MILLER  CLERK   7782 23-JAN-82  1300 
    10 
     1234 FOO 

15 rows selected. 

但是,如果我们指定该EMPNOMGR应该只有房间5个数字和ENAMEJOB应显示在10个字符,一切都适合

SQL> column empno format 99999; 
SQL> column ename format a10; 
SQL> column job format a10; 
SQL> column mgr format 99999; 
SQL>/

EMPNO ENAME  JOB   MGR HIREDATE   SAL  COMM  DEPTNO 
------ ---------- ---------- ------ --------- ---------- ---------- ---------- 
    7369 smith  CLERK  7902 17-DEC-80  800     20 
    7499 ALLEN  SALESMAN  7698 20-FEB-81  1600  300   30 
    7521 WARD  SALESMAN  7698 22-FEB-81  1250  500   30 
    7566 JONES  MANAGER  7839 02-APR-81  2975     20 
    7654 MARTIN  SALESMAN  7698 28-SEP-81  1250  1400   30 
    7698 BLAKE  MANAGER  7839 01-MAY-81  2850     30 
    7782 CLARK  MANAGER  7839 09-JUN-81  2450     10 
    7788 SCOTT  ANALYST  7566 19-APR-87  3000     20 
    7839 KING  PRESIDENT   17-NOV-81  5000     10 
    7844 TURNER  SALESMAN  7698 08-SEP-81  1500   0   30 
    7876 ADAMS  CLERK  7788 23-MAY-87  1110     20 

EMPNO ENAME  JOB   MGR HIREDATE   SAL  COMM  DEPTNO 
------ ---------- ---------- ------ --------- ---------- ---------- ---------- 
    7900 SM0  CLERK  7698 03-DEC-81  950     30 
    7902 FORD  ANALYST  7566 03-DEC-81  3000     20 
    7934 MILLER  CLERK  7782 23-JAN-82  1300     10 
    1234 FOO 

15 rows selected. 

你也可以做这样的事情

SQL> set pagesize 100; 
SQL> set linesize 120; 

控制如何频繁地显示在列标题(默认为每10线)和各行应该有多宽是。

当然,如果你只是一个开发人员编写临时查询,这种格式化是一种痛苦。对于这样的事情,使用Oracle的SQL Developer这样一个免费的PL/SQL IDE是Oracle提供的更好的选择。 GUI会自动在可以滚动的表格中显示结果。

+0

非常感谢有用的答案。 – SunyGirl 2011-04-14 23:49:21