1
当我想在oracle中看到一个包含它的记录的表时,表是无序的,我的意思是不像my-sql那样在attribute的名字下看到每个属性值!我可以解决吗?在SQL * Plus中格式化查询结果
当我想在oracle中看到一个包含它的记录的表时,表是无序的,我的意思是不像my-sql那样在attribute的名字下看到每个属性值!我可以解决吗?在SQL * Plus中格式化查询结果
你使用什么工具?
如果您正在使用命令行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.
但是,如果我们指定该EMPNO
和MGR
应该只有房间5个数字和ENAME
和JOB
应显示在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会自动在可以滚动的表格中显示结果。
非常感谢有用的答案。 – SunyGirl 2011-04-14 23:49:21