sql >> Database teknologi >  >> RDS >> Oracle

Formater forespørgsel resultater i SQL*Plus

Hvilket værktøj bruger du?

Hvis du bruger kommandolinjen SQL*Plus, skal du muligvis bruge formateringskommandoer for at angive, hvor bred skærmen skal være, dvs.

Grimme data

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.

Men hvis vi angiver det EMPNO og MGR skal kun have plads til 5 cifre og ENAME og JOB skal vises med 10 tegn, alt passer

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.

Du kan også gøre ting som

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

for at kontrollere, hvor ofte kolonneoverskrifterne vises (standarden er hver 10. linje), og hvor bred hver linje skal være.

Selvfølgelig, hvis du kun er en udvikler, der skriver ad hoc-forespørgsler, er denne form for formatering en smerte. Til den slags er du meget bedre stillet ved at bruge noget som Oracles SQL Developer, en gratis PL/SQL IDE som Oracle tilbyder. GUI'en viser automatisk dine resultater i en tabel, som du kan rulle igennem.




  1. Spring hver nte resultatrække over i PostgreSQL

  2. postgres hstore eksisterer og eksisterer ikke på samme tid

  3. Er der nogle faldgruber/ting du skal vide, når du skifter fra MyISAM til InnoDB

  4. Sådan indsætter du identitetsværdi i Oracle ved hjælp af Entity Framework ved hjælp af en sekvens