zoukankan      html  css  js  c++  java
  • SQL*Plus 格式化查询结果

    为了在 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 命令来手动取消头标题和底标题的设置消息。

  • 相关阅读:
    nyoj 228士兵杀敌(五)
    hdu2072 单词数
    nyoj123士兵杀敌(四)(树状数组)
    nyoj1092数字分隔(二)
    HDU1166:敌兵布阵(线段树单点更新,区间查询)
    nyoj269VF(dp)
    nyoj 860又见01背包(01背包)
    poj2184(01背包变形)
    HDU2159FATE(完全背包变形)
    HDU4508 完全背包
  • 原文地址:https://www.cnblogs.com/niujifei/p/11062529.html
Copyright © 2011-2022 走看看