Форматирование результатов запроса в SQL * Plus - PullRequest
1 голос
/ 15 апреля 2011

когда я хочу увидеть одну таблицу с ее записями в oracle, таблица дезорганизована, я имею в виду не то, что my-sql, чтобы видеть каждое значение атрибута точно под именем атрибута! Как я могу решить это?

1 Ответ

6 голосов
/ 15 апреля 2011

Какой инструмент вы используете?

Если вы используете командную строку 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.Графический интерфейс автоматически отображает ваши результаты в таблице, которую вы можете прокручивать.

...