最近一段时间连续的做了几十张报表,通过原生sql对数据进行分析 ,也算是有了一定的了解,发现其中一些函数和表达式使用频率较高,现总结如下:

(1)、round()函数

       round函数说白了就是把一个数按照指定的小数位元数进行四舍五入运算的结果

     语法形式:ROUND( number, decimal_places )

     number: 需要处理的数值

       decimal_places : 四舍五入 , 小数取几位 ( 预设为 0 )

     例子:

     select round(123.456, 0) from dual; 回传 123 
     select round(123.456, 1) from dual; 回传 123.5 
     select round(123.456, 2) from dual; 回传 123.46 
     select round(123.456, 3) from dual; 回传 123.456 
     select round(-123.456, 2) from dual; 回传 -123.46

  (2)、to_char()函数

     语法形式:to_char(date,’格式模型’)

          to_char(numeric,’格式模型’)

     to_char()函数基本上也是我们用的最多的函数了,把日期或数字转换为字符串,不能指定字符串长度。

      在做报表方面更多的是使用to_char() 对数字进行特定格式化,接round函数,我们想保留一个数字的有效两位数字,我们就可以结合round,   

 TO_CHAR(ROUND((T.MONTH_TOTAL - T.LAST_MONTH_TOTAL) /
T.LAST_MONTH_TOTAL * 100, 2), 'FM999990.00')

      然后to_char()还有很多格式化的语句, 继续学习。

   (3)、decode()函数  

      这个函数目前还只有oracle的 pl/sql提供了这个功能,功能十分强大     

      语法形式:decode(条件,值1,翻译值1,值2,翻译值2,值n,翻译值n,... 缺省值),

      IF 条件=值1 THEN
        RETURN(翻译值1)
      ELSIF 条件=值2 THEN
        RETURN(翻译值2)
          ......
      ELSIF 条件=值n THEN
        RETURN(翻译值n)
      ELSE
        RETURN(缺省值)
      END IF

    当然decode函数另一个比较常用的功能就是比较大小,   

    select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值   
    sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1

    eg:    

    变量1=10,变量2=20

    则sign(变量1-变量2)返回-1,decode解码结果为“变量1”,达到了取较小值的目的。这个功能在报表分析的时候,使用的就不算多了。

     其他也有很多使用高频的函数,如sum(),count(),nvl()等等,以后我还会继续总结!!!

     

orale做报表常用函数和表达式的总结的更多相关文章

  1. 用Excel做数据分析常用函数(数据清理、关联匹配……)

    本文总结在使用Excel进行数据分析时,最常用的功能和函数. Excel的功能和函数非常多,用进废退,除了学习基本的函数和功能,最重要的是遇到问题可以快速的搜索并解决. 首先Excel可以处理的数据量 ...

  2. web报表工具FineReport常用函数的用法总结(日期和时间函数)

    web报表工具FineReport常用函数的用法总结(日期和时间函数) 说明:凡函数中以日期作为参数因子的,其中日期的形式都必须是yy/mm/dd.而且必须用英文环境下双引号(" " ...

  3. [转]SQLServer和Oracle,存储过程区别,常用函数对比

    本文转自:http://www.cnblogs.com/neru/archive/2011/08/18/2144049.html 以前一直用sqlserver,只有很少的一点oracle的经验,现在要 ...

  4. oracle常用函数及示例

    学习oracle也有一段时间了,发现oracle中的函数好多,对于做后台的程序猿来说,大把大把的时间还要学习很多其他的新东西,再把这些函数也都记住是不太现实的,所以总结了一下oracle中的一些常用函 ...

  5. SQL SERVER 字符串常用函数

    在开发T-SQL时,经常会需要对字符串进行各种各样的操作,下面介绍常用的字符串函数. 1.获取字符的ASCII码 ASCII ASCII码是对字符的标准编码.要获取字符的ASCII码就可以通过调用AS ...

  6. Python常用函数、方法、模块记录

    常用函数: 1.pow():乘方 2.abs():绝对值 3.round():四舍五入 4.int():转换为整数 5.input():键盘输入(会根据用户的输入来做类型的转换) raw_input( ...

  7. mysql常用函数参考

    mysql常用函数参考   对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL, ...

  8. [SQL SERVER系列]之常用函数和开窗函数介绍及实例

    本文主要介绍SQL SERVER数据库中一些常用的系统函数及其SQL SERVER 2005以上支持的开窗函数. 1.常用函数 --从字符串右边截取指定字符数 select RIGHT('HELLO' ...

  9. SQL常用函数

    SQL中常用的函数有类型转换函数.字符串函数和日期使用函数.更多具体的函数用法参见DBMS中的帮助文档. 类型转换函数 cast(值 as 类型) update 表名 set 列1=列1+cast(列 ...

随机推荐

  1. Ubuntu 固态硬盘 4K对齐及启用 Trim,及其验证方法

    因为之前一个移动硬盘因为坏道蔓延导致没办法继续使用,我略冲动地跑去买了一块 120GB 的三星840 固态硬盘回来.为了使用起来更方便,还去弄了个光驱位硬盘托架,把固态硬盘接在了光驱位与原本的笔记本硬 ...

  2. php透明合并png与jpg图片

    源 <?php $png = imagecreatefrompng('./mark.png'); $jpeg = imagecreatefromjpeg('./image.jpg'); list ...

  3. Android实例-从照相机或图库获取照片(XE8+小米2)

    结果: 1.如果要取本地相册的话,小米手机要注意一下,不能取网络相册. 操作: 1.两个 TButton (Button1 和 Button2) , 一个 TActionList(ActionList ...

  4. 转载Entity Framework 5.0(EF first)中的添加,删除,修改,查询,状态跟踪操作

    转载原出处:http://www.cnblogs.com/kenshincui/p/3345586.html Entity Framework将概念模型中定义的实体和关系映射到数据源,利用实体框架可以 ...

  5. jquery-ui 之droppable详解

    <div class="special">drop me</div> <div class="drag-box"> < ...

  6. 与IO相关的等待事件troubleshooting-系列9

    Buffer Cache与IO相关的等待事件: 这种等待事件的产生原因是包含DBWR进程和IO Slaves的Buffer Cache操作. 'db file parallel write' , 'd ...

  7. C++学习笔记(四):枚举

    枚举用来代替静态常量,优点就是可以确定值的范围,而常量则无法确定范围: 常量表示法: ; ; ; ; ; bool func(int type) { //范围检查 || type > ) thr ...

  8. hbase多用户入库,regionserver下线问题

    近期对hbase多用户插入数据时,regionserver会莫名奇妙的关闭,regionserver的日志有很多异常: 如下: org.apache.hadoop.hbase.DroppedSnaps ...

  9. 对get_baserel_parampathinfo函数的学习

    /* * get_baserel_parampathinfo * Get the ParamPathInfo for a parameterized path for a base relation, ...

  10. uva 11246 - K-Multiple Free set(数论)

    题目链接:uva 11246 - K-Multiple Free set 题目大意:给定n,k.求一个元素不大于n的子集,要求该子集的元素尽量多,而且不含两个数满足a∗k=b. 解题思路:容斥原理.f ...