oracle--sqlplus格式化输出

摘要:
01,日期格式输出SQL˃altersessiontNLS_date_format='YYYY-MM-DDHH24:mi:ss';SQL˃从dual中选择系统日期;SYSDATE------------------2019-06-2114:26:08SQL˃altersessionstnls_date_ Format='yyyy“年”mm“月”dd“日”;会话已更改。

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

免责声明:文章转载自《oracle--sqlplus格式化输出》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇facebook atc弱网环境搭建和踩坑总结安装、设置与启动MySql绿色版的方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle sqlplus及常用sql语句

常用sql语句 有需求才有动力 http://blog.csdn.net/yitian20000/article/details/6256716 常用sql语句 创建表空间:create tablespace 表空间名字 filedata 'd:db.dbf' size 20m uniform size 128k;说明:创建一个20M的表空间,且表空间的区...

sqlplus客户端 navicat 使用sqlplus OCI

链接:http://pan.baidu.com/s/1i5otsUT 密码:cbux 解压后放到某个目录下 这是我的   sqlplus客户端出现乱码 - 一支小白 - 博客园  http://www.cnblogs.com/startnow/p/7568087.html...

oracle 11g sqlplus和plsql developer 乱码解决方案

----------------------------------华丽的分隔符---------------------------------- 在cmd终端下运行            中文的话: set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 英文的话 set N...

sqlplus常用操作命令(转)

SQL*PLUS 是Oracle提供的一个工具程序,它不仅可以用于测试,运行SQL语句和PL/SQL块,而且还可以用于管理Oracle数据库  1.启动sql*plus 为了使用sql*plus,必须首先要启动sql*plus。Oracle不仅提供了命令行和图形界面的sql*plus,而且还可以在web浏览器中运行. (1)在命令运行sql*plus...

设置sqlplus不显示除查询结果外的信息

背景:客户提出一个需求,写SQL脚本的时候,内容是拼接的,如何将这个拼接SQL执行的结果取出来调用执行呢?我想到的方案是先把结果取出来,存为一个中间文件,再调用该文件即可。知识点:如何将sqlplus结果中的无关信息都去掉?可以使用sqlplus -s进入调用拼接SQL脚本,脚本中配合使用set设定相关属性即可实现。下面举一个简单的示例来说明: 1.拼接...

sde用户下使用sqlplus登录错误ORA-12547: TNS:lost contact

环境:linux + oracle +arcsde   解决:root用户下增加$ORACLE_HOME/bin/oracle文件的s权限 [oracle@localhost bin]$ chmod +s oracle   查看权限 [oracle@localhost bin]$ ls -al oracle   s权限参考  chmod +s 可以给...