最近一段时间连续的做了几十张报表,通过原生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. 安装sql server 出现挂起问题

    1.安装SQL Server的时候出现的情况.“以前的某个程序已在安装计算机上创建挂起的文件操作.运行安装之前必须重新启动计算机”的提示. 2.解决方法 关于SQL安装被挂起的修复大家可能都遇到过当S ...

  2. springmvc 传递对象数组参数 property path is neither an array nor a List nor a Map

    Spring MVC 3: Property referenced in indexed property path is neither an array nor a List nor a Map ...

  3. SQL2008-备份SQL数据库的语句

    SQL2008:1.备份库BACKUP DATABASE CDJQ_CEM2008 TO DISK = 'd:\zhu\123.bak'2.开启RAR加压功能EXEC sp_configure 'sh ...

  4. 使用list和tuple

    list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ...

  5. NPOI导出Excel示例

    摘要:使用开源程序NPOI导出Excel示例.NPOI首页地址:http://npoi.codeplex.com/,NPOI示例博客:http://tonyqus.sinaapp.com/. 示例编写 ...

  6. 重金悬赏的微软:提交Win8漏洞以及发布Win8应用

    随着Windows 8.1这个饱受诟病的操作系统的推出,微软想一举改变颓势,也只有从用户体验上下手了. 近来,微软针对Windows 8.1的漏洞,推出了三项奖励措施: 1.对于发现关键性漏洞,并且这 ...

  7. ASP终极防下载(转)

    自从搞ASP+ACCESS没少为避免数据库下载而伤过神,网上的奇淫技巧更是数不胜数,本文就是同大家共同探讨各路前辈的留下的秘笈并指中其中的优劣,最后为大家提供一种最佳的解决方案. 一.开篇 自从搞AS ...

  8. HDU 4608 I-number(模拟)

    I-number Time Limit: 5000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描写叙述 The I-number of x is defined t ...

  9. 【转】/etc/grub.conf文件详解

    转自:http://leejia.blog.51cto.com/4356849/788902 grub.conf是grub的主配置文件,通过这个配置文件,grub才能找到kernel,系统才能正常启动 ...

  10. js判断一个字符串是否在另一个字符串中存在 indexOf

    使用indexOf来实现.当返回值为-1时表示不存在. 举例: var href = 'www.51qdq.com';alert(href.indexOf('test')); //返回值 -1aler ...