为了在 SQL*Plus 环境中生成符合用户需要规范的报表,SQL*Plus 工具提供了多个用于格式化查询结果的命令,使用这些命令可以实现设置列的标题、定义输出值的显示格式和显示宽度、为报表增加头标题和底标题、在报表中显示当前日期和页号等。

一、Column 命令

  该命令可以实现格式化查询结果、设置列宽度、重新设置列标题等功能。

  语法格式:

col[umn]  [column_name | alias | option]
  • columen_name:用于指定设置的列的名称。
  • alias:用于指定列的别名,通过它可以把英文列标题设置为汉字。
  • option:用于指定某个列的显示格式,option 选项的值及其说明如下:
option 选项的值 说明
clear 消除指定列所设置的显示属性,从而回复列使用默认的显示属性
format 格式化指定的列
heading 定义列标题
justify 调整列标题的对其方式。默认数值类型的列为右对齐,其他类型的列为左对齐
null 指定一个字符串,如果列的值为null,则由该字符串代替
print/noprint 心事列标题或隐藏列标题,默认为print
on|off 控制定义的显示属性的状态,off表示定义的所有显示属性都不起作用,默认为on
wrapped 当字符串的长度超过显示宽度时,将字符串的超出部分折叠到下一行显示
word_wrapped 表示从一个完整的字符处折叠
truncated 表示截断字符串尾部

  如果关键字 column 后面未指定任何参数,则 column 命令将显示 SQL*Plus 环境中所有列的当前定义属性;如果在 column 后面指定某个列名,则显示指定列的当前定义属性。

  常用 option 选项如下:

  1、format 命令

    该选项用于格式化指定的列,需要在 format 关键字的后面跟一个掩码格式。

  2、heading 命令

    该选项用于定义列标题,比如,许多数据表或试图的列名都为英文格式,可以使用此选项将英文形式的列标题显示为中文格式。

    EG:

SQL > col empno heading  雇员编号
SQL > col ename heading 雇员姓名
SQL > select empno,ename from scott.emp

      这样就可以将数据库查出来的列名以中文的格式显示

  3、null 命令

    该选项的后面指定一个字符串,如果列的值为 null,则用字符串代替空值。

    EG:

SQL > col  common null "空值"
SQL > select empno,common from scott.emp where comm is null

     这样当从表中查出来的common 的这一列没有值得时候,就会在common 这一列下面显示 “空值” 的字符串。

  4、on | off  命令

    该选项用于控制定义的显示属性的状态,off 表示定义的所有显示属性都不起作用,默认为 on。

  5、wrapped / word_wrapped 选项

    这两个选项都用于实现折行的功能,wrapped 选项按照指定长度折行,Word_wrapped  选项按照完整的字符折行。

二、Ttitle 和 Btitle

  在 SQL*Plus 环境中,执行 SQL语句后的显示结果在默认情况下包括列标题、页分割线、查询结果和行数合计等内容。可以为整个输出结果设置报表头(头标题)、为每页都这是页标题和页码、为整个输出结果设置报表尾,会使打印报表更美观。SQL*Plus 就为我们提供了 Ttitle 和 Btitle 命令,这个两个命令分别用来设置打印时每页的顶部和底部标题。

  Ttitle 命令语法格式如下:

Tti[tle] [printspect [text | variable] ...] | [off | on]
  •   printspec:用来作为头标题的修饰性选项,有如下的值:    
printspec 选项的值 说明
col 指定在当前行的第几列打印头部标题
skip 跳到从下一行开始的第几行,默认为1
left 在当前行中左对齐打印数据
center 在当前行中间打印数据
right 在当前行中右对齐打印数据
bold 以黑体打印数据
  •     text:用于设置输出结果的头标题(报表头文字)
  •     variable :用于在头标题中输出相应的变量值
  •   off:表示禁止打印头标题
  •   on:表示允许打印头标题

  注意:Btitle 的语法格式与 Ttitle 的语法格式相同,如果在 Ttitle 或 Btitle 命令没有任何参数,则显示当前的 Ttitle 或 Btitle 的定义。

     每次设置的头标题和底标题有效期直到本次会话结束后终止。可以使用 ttitle off 命令和 btitle 命令来手动取消头标题和底标题的设置消息。

SQL*Plus 格式化查询结果的更多相关文章

  1. 学习笔记:oracle学习二:oracle11g数据库sql*plus命令之常用sqlplus命令、格式化查询结果

    目录 1.常用sqlplus命令 1.1 HELP命令 1.2 describe命令 1.3 SPOOL命令 1.4 其他常用命令 1.4.1 define命令 1.4.2 show命令 1.4.3 ...

  2. sql跨库查询

    ---------------------------------------------------------------------------------- --1. 创建链接服务器 --1. ...

  3. SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)[转]

    --====================================================== --SQL基础-->层次化查询(START BY ... CONNECT BY ...

  4. SQL 时间格式化函数发布

    SQL 时间格式化函数,有时候因某种需要需要格式化成需要的时间格式,需要的朋友可以收藏下,以备后用. SQL Server里面可能经常会用到的日期格式转换方法: sql server使用convert ...

  5. Oracle ------ SQLDeveloper中SQL语句格式化快捷键

    Oracle SQL Developer中SQL语句格式化快捷键: 每次sql复制到SQL Developer面板的时候,格式老不对,而且看起来很不舒服,所有的sql都挤在一行完成. 这时我们可以全选 ...

  6. Sql Server中查询今天、昨天、本周、上周、本月、上月数据

    Sql Server中查询今天.昨天.本周.上周.本月.上月数据 在做Sql Server开发的时候有时需要获取表中今天.昨天.本周.上周.本月.上月等数据,这时候就需要使用DATEDIFF()函数及 ...

  7. SQL 数据分页查询

    最近学习了一下SQL的分页查询,总结了以下几种方法. 首先建立了一个表,随意插入的一些测试数据,表结构和数据如下图: 现在假设我们要做的是每页5条数据,而现在我们要取第三页的数据.(数据太少,就每页5 ...

  8. SQL表连接查询(inner join、full join、left join、right join)

    SQL表连接查询(inner join.full join.left join.right join) 前提条件:假设有两个表,一个是学生表,一个是学生成绩表. 表的数据有: 一.内连接-inner ...

  9. Sql Server参数化查询之where in和like实现详解

    where in 的参数化查询实现 首先说一下我们常用的办法,直接拼SQL实现,一般情况下都能满足需要 string userIds = "1,2,3,4"; using (Sql ...

随机推荐

  1. [转]ProxmoxVE 干掉 VMware

    很久没有写这种通俗易懂的文章了,不是我愤世嫉俗,而是因为确实太为那些花大价钱购买VMware的冤大头鸣不平. 确实VMware在虚拟化市场占有率非常高,技术也非常成熟,用户使用起来很方便,但是如果你是 ...

  2. Spring cloud微服务安全实战-7-1章节概述

    前面的章节都是围绕这微服务的安全在讲一些东西,包括微服务本身api的安全.网关的安全.怎么去做安全中心,包括认证服务器,权限的服务.权限的设计,怎么来实现SSO.然后sentinel来实现统一的熔断, ...

  3. [LeetCode] 248. Strobogrammatic Number III 对称数III

    A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside ...

  4. python:单例模式--使用__new__(cls)实现

    单例模式:即一个类有且仅有一个实例. 那么通过python怎么实现一个类只能有一个实例呢. class Earth: """ 假如你是神,你可以创造地球 "&q ...

  5. python:pytest优秀博客

    上海悠悠:https://www.cnblogs.com/yoyoketang/tag/pytest/

  6. Postgresql中的large object

    1.初识postgresql large object 一位同事在对使用pg_dump备份出来的文件(使用plain格式)进行恢复时,觉得速度非常慢,让我分析一下是什么原因. 我拿到他的.bak文件, ...

  7. mysql查询列为空

    SELECT * FROM `表名` WHERE ISNULL(列名)

  8. spring中最重要的一些Aware接口

    附上关于这节的spring官方文档: ApplicationContextAware and BeanNameAware aware接口在spring中无处不在,它是用来感知spring的ioc co ...

  9. 三、Spring的@Scope设置组件作用域

    还是和上节一样,首先来看下配置类:MainConfig2 @Configuration 名 public class MainConfig2 { @Scope("singleton" ...

  10. python zip函数(11)

    一.zip函数描述和使用 zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,返回的结果可以直接强转为list列表,这样做的好处是节约了不少的 ...