最近一段时间连续的做了几十张报表,通过原生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. Idiomatic Python手记一: average in FP way

    方法一: import operator def average(*args): return reduce(operator.add, args) / len(args) if args else ...

  2. Redis+MongoDB 最佳实践 做到读写分离 -摘自网络

    方案1. (被否定) 加上Redis,做到MongoDB的读写分离,单一进程从MongoDB及时把任务同步到Redis中. 看起来很完美,但是上线后出现了各种各样的问题,列举一下: 1.Redis队列 ...

  3. Chrome 浏览器跨域和安全访问问题 使用 chrome的命令行标记:disable-web-security 参数联调线上数据

    做前端的,用Ajax获取数据,是常有的事情,同域下自然没问题了,如果是不同域获取数据,浏览器就有个同源策略的限制. 如图: Origin * is not allowed by Access-Cont ...

  4. maven 约定

    pom.xml 放置在项目的根目录 在 src/main/java 中放置项目的主代码 在 src/main/resources放置主项目的资源 在 src/test/java 中放置项目的测试代码 ...

  5. Objective-C中的Block

    1.相关概念 在这篇笔记开始之前,我们需要对以下概念有所了解. 1.1 操作系统中的栈和堆 注:这里所说的堆和栈与数据结构中的堆和栈不是一回事. 我们先来看看一个由C/C++/OBJC编译的程序占用内 ...

  6. plsql developer的一些使用

    .PL/SQL Developer记住登陆密码 在使用PL/SQL Developer时,为了工作方便希望PL/SQL Developer记住登录Oracle的用户名和密码: 设置方法:PL -> ...

  7. cocos2d-x中,简单html富文本显示

    作者:HU 转载请注明,原文链接:http://www.cnblogs.com/xioapingguo/p/4037414.html  虽然自从cocos2d-x更新到3.0后,使用freetype, ...

  8. Oracle DataGuard数据备份方案详解

    Oracle DataGuard是一种数据库级别的HA方案,最主要功能是冗灾.数据保护.故障恢复等. 在生产数据库的"事务一致性"时,使用生产库的物理全备份(或物理COPY)创建备 ...

  9. 手机端overflow scroll卡顿的情况

    在容器里设置或者html,body{-webkit-overflow-scrolling: touch;}

  10. liveness 生存性/活性

    翻译了两篇,这篇就不翻译了,自己写吧. 对于线程来说除了安全性,我们还应该重视它的生存性(我认为翻译成三个字说着比較顺). 为了保证线程安全,我们往往须要用到同步,可是同步限制了线程的运行,线程必须为 ...