• oracle--sqlplus格式化输出


    01,日期格式化输出

    SQL> alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:mi:ss';
    SQL> select sysdate from dual;
    
    SYSDATE
    -------------------
    2019-06-21 14:26:08
     SQL> alter session set nls_date_format ='yyyy"年"mm"月"dd"日生"';
     
    会话已更改。
    SQL> col HIREDATE heading 生日
    SQL> col sal heading 数字
    SQL> col sal ename 姓名
    SQL> select ename,sal,hiredate from emp;
     
    姓名             数字             生日
    ---------- ---------- -----------------
    SMITH             800 1980年12月17日生
    ALLEN            1600 1981年02月20日生
    WARD             1250 1981年02月22日生
    JONES            2975 1981年04月02日生
    MARTIN           1250 1981年09月28日生
    BLAKE            2850 1981年05月01日生
    CLARK            2450 1981年06月09日生
    SCOTT            3000 1987年04月19日生
    KING             5000 1981年11月17日生
    TURNER           1500 1981年09月08日生
    ADAMS            1100 1987年05月23日生
    JAMES             950 1981年12月03日生
    FORD             3000 1981年12月03日生
    MILLER           1300 1982年01月23日生
     

    02,生成报告

    SPOOL命令
     
    SPOOL   filename      将缓冲区的内容写到文件中
    SPOOL   off           终止写命令

    03,加标题

      
    ttitle   [center|left|right]string    顶标题
    btitle   [center|left|right]string    底标题
    ttitle   center   'XX公司人员情况表'
    btitle   left     '制表人:赵元杰'   right    '日期:1998.11月'
    Clear    ttitle

    04,

    breakcompute
     
    clear    breaks,clear    computes
    break   on   column     在该列上中断
    break   on   row        在每一行上中断
    break   on    Page
    break   on    report
    skip     n               跳过n行
    skip     page            跳过未用完的页
    compute       avg
    compute      count
    compute       max
    compute       min
    compute       std
    compute       sum
    compute       var
    compute       num     计算所有行
    compute       sum   of   sal   on   deptno

    05,col

     COL[UMN] [{ column | expr } [ option_1 ... option_n ] ]
     column:列名
    expr:有效的 SQL 表达式
    option_1... option_n:可以是下列之一:
    ALI[AS] alias
    CLE[AR]
    FOLD_A[FTER]
    FOLD_B[EFORE]
    FOR[MAT] format
    HEA[DING] text
    JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}
    LIKE { expr|alias}
    NEWL[INE]
    NEW_V[ALUE] variable
    NOPRI[NT]|PRI[NT]
    NUL[L] text
    OLD_V[ALUE] variable
    ON|OFF
    WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]
    1). 改变缺省的列标题
    COLUMN column_name HEADING column_heading 
    For example:
    Sql>select * from dept;
    DEPTNO DNAME LOC
    ---------- ---------------------------- ---------
    10 ACCOUNTING NEW YORK
    sql>col LOC heading location
    sql>select * from dept;
    DEPTNO DNAME location
    --------- ---------------------------- -----------
    10 ACCOUNTING NEW YORK
    
    2). 将列名ENAME改为新列名EMPLOYEE NAME并将新列名放在两行上:
    Sql>select * from emp
    Department name Salary
    ---------- ---------- ----------
    10 aaa 11
    SQL> COLUMN ENAME HEADING ’Employee|Name’
    Sql>select * from emp
    Employee
    Department name Salary
    ---------- ---------- ----------
    10 aaa 11
    note: the col heading turn into two lines from one line.
    
    3). 改变列的显示长度:
    FOR[MAT] format
    Sql>select empno,ename,job from emp;
    EMPNO ENAME JOB
    ---------- ---------- ---------
    7369 SMITH CLERK
    7499 ALLEN SALESMAN
    7521 WARD SALESMAN
    Sql> col ename format a40
    EMPNO ENAME JOB
    ---------- ---------------------------------------- ---------
    7369 SMITH CLERK
    7499 ALLEN SALESMAN
    7521 WARD SALESMAN
    
    4). 设置列标题的对齐方式
    JUS[TIFY] {L[EFT]|C[ENTER]|C[ENTRE]|R[IGHT]}
    SQL> col ename justify center
    SQL> /
    EMPNO ENAME JOB
    ---------- ---------------------------------------- ---------
    7369 SMITH CLERK
    7499 ALLEN SALESMAN
    7521 WARD SALESMAN
    对于NUMBER型的列,列标题缺省在右边,其它类型的列标题缺省在左边
    5). 不让一个列显示在屏幕上
    NOPRI[NT]|PRI[NT]
    SQL> col job noprint
    SQL> /
    EMPNO ENAME
    ---------- ----------------------------------------
    7369 SMITH
    7499 ALLEN
    7521 WARD
    
    6). 格式化NUMBER类型列的显示:
    SQL> COLUMN SAL FORMAT $99,990
    SQL> /
    Employee
    Department Name Salary Commission
    ---------- ---------- --------- ----------
    30 ALLEN $1,600 300
    
    7). 显示列值时,如果列值为NULL值,用text值代替NULL值
    COMM NUL[L] text
    SQL>COL COMM NUL[L] text
    
    8). 设置一个列的回绕方式
    WRA[PPED]|WOR[D_WRAPPED]|TRU[NCATED]
    COL1
    --------------------
    HOW ARE YOU?
    
    SQL>COL COL1 FORMAT A5
    SQL>COL COL1 WRAPPED
    COL1
    -----
    HOW A
    RE YO
    U?
    SQL> COL COL1 WORD_WRAPPED
    COL1
    -----
    HOW
    ARE
    YOU?
    SQL> COL COL1 WORD_WRAPPED
    COL1
    -----
    HOW A
    www.2cto.com
    9). 显示列的当前的显示属性值
    SQL> COLUMN column_name
    10). 将所有列的显示属性设为缺省值
    SQL> CLEAR COLUMNS
  • 相关阅读:
    ZeroMQ
    ps-lite源码解析
    RDMA
    MapReduce
    parameter server
    BytePS
    ELF程序头部及程序加载
    网络序与主机序
    CPU、CPU核与线程的关系
    chroot
  • 原文地址:https://www.cnblogs.com/kingle-study/p/11064387.html
Copyright © 2020-2023  润新知