sql >> データベース >  >> RDS >> Oracle

クエリ結果を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が提供する無料のPL /SQLIDEであるOracleのSQLDeveloperのようなものを使用する方がはるかに優れています。 GUIは、スクロール可能なテーブルに結果を自動的に表示します。




    1. Laravel5の生のPDOインスタンスにアクセスできません

    2. PHP / MySQLでリンクを表示しますか?

    3. ブールパラメータをOracleプロシージャC#に渡す方法

    4. REFのテーブルのスコープ