`
qinya06
  • 浏览: 584439 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

几个 Oracle 常用函数 实例 运用

阅读更多
针对Oracle数据库特有的函数,不包括SQL本身就有的。几个常用的Oracle函数:nvl、to_char、to_date、to_number、trim、length、substr、等等

 select nvl(sum(c.f_factplan),0) f_factplan from pay_certificate c left join pay_reporting r on r.f_id=c.f_repid where to_number(r.f_year||trim(to_char(r.f_month,'09')))<(select to_number(r.f_year||trim(to_char(r.f_month,'09'))) yearmonth from pay_certificate t left join pay_reporting r on r.f_id=t.f_repid where t.f_id=7) and c.f_ctrid=15


上面这条sql语句综合运用了好几个函数,这里,我们不考虑这条SQL语句的业务,只单纯的从SQL出发。to_char(r.f_month,'09'),将f_month字段中的月份每个都转换为两位长度,这种写法可能是因为f_month字段定义成了数字型,但是在查询中,又需要将它与年份组合成一个形如yyyymm格式的数字来进行大小的比较,这个例子就是如此,trim去掉组合后前后空格,然后用||操作符将它与年组合起来转换为数字。


-------------------------------------------------------------
这条SQL语句主要运用的就是to_date函数,记注意这里的小时、分、秒,与我们平时的yyyy-MM-dd HH:mm:ss的写法不一样,我们现在的时间一般都是使用24小时制,所以这里要写成hh24,如果是12小时制就去掉24

select * from dtaq_data d inner join dtaq_data_info i on d.info_id=i.info_id where d.point_id = 1199 and i.info_type='T' and d.write_date <= to_date('2008-11-21 23:59:59','yyyy-mm-dd hh24:mi:ss')


---------------------------------------------------------------
when...then...else,length函数判断字符串的长度,substr对字符串进行截取,注意起始位置的索引为1,这和我们一般认为的0开始不一样。

select a.f_id,a.f_name from orgaizeation a inner join (select case when length(o.f_nodecode)>8 then substr(o.f_nodecode,1,8) else o.f_nodecode end f_nodecode from orgaizeation o where o.f_id = 23) b on a.f_nodecode=b.f_nodecode order by b.f_nodecode


--------------------------------------------------------------
分享到:
评论

相关推荐

    几个常用的Oracle函数及实例运用

    几个常用的Oracle函数及实例运用 几个常用的Oracle函数及实例运用

    Python操作Oracle数据库的简单方法和封装类实例

    考虑到Oracle的使用还有一个OracleClient的NetConfig的存在,我觉得连接起来就应该不是个简单的事情。 果然,网上找了几个连接方法,然后依葫芦却画了半天,却也不得一个瓢。 方法1:用户名,密码和监听分别作为参数...

    大牛出手Oracle SQL优化实例讲解

    7.V$SQL视图详解加几个实例 8.autotrace验证压缩表性能 9.autotrace验证消除子查询后的性能 10.基于基本的优化CBO 11.如何统计数据库数据 12.Oracle如何统计操作系统数据 13./*+parallel(t,4)*/在大表查询性能的提现...

    oracle小数点处理

    oracle关于处理小数点位数的几个oracle函数(),小数点的处理以及实例

    Oracle-Cloud-instances-configuration:Oracle Cloud实例配置

    Oracle云实例配置Oracle云中的几台Ubuntu计算机的提醒和点文件。 Fail2ban监狱,openvpn,nginx和电子邮件服务。 第一台服务器托管电子邮件服务和第二台服务器的Nginx反向代理。 第二台服务器托管openvpn服务和该...

    oracle实验报告

    1. 实例讲解Oracle数据库自带的几个触发器 Oracle数据库自带的几个触发器(最简单触发器格式)示例如下: -- create or replace trigger MDSYS.sdo_drop_user after drop on DATABASE declare stmt varchar2(200...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    读者可以学习到以下几个方面的技巧:  掌握Oracle数据库中独有的SQL强大特征;  读取并理解SQL执行计划;  快速分析并改进表现欠佳的SQL;  通过提示及配置文件等来控制执行计划;  在程序中优化查询而无需改动...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

     《Java开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第II卷,以开发...

    Oracle数据库管理员技术指南

    3.3.2 创建几个大的联机重做日志文件 3.3.3 导入过程中关闭归档方式 3.3.4 分开导出转储文件、数据表空间、 回退段和联机重做日志文件 3.3.5 最小化检查点 3.3.6 单独创建索引 3.3.7 设置大的初始化参数 SORT_...

    JAVA上百实例源码以及开源项目源代码

    ejbCreate函数用于初始化一个EJB实例 5个目标文件,演示Address EJB的实现,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,...

    Oracle通过时间(分钟)计算有几天几小时几分钟的方法

    本文实例讲述了Oracle通过时间(分钟)计算有几天几小时几分钟的方法。分享给大家供大家参考。具体如下: 代码如下:SELECT TRUNC(2013 / 24 / 60, 0) || ‘天’ ||   trunc((2013 – 60 * 24 * TRUNC(2013 / 24 / ...

Global site tag (gtag.js) - Google Analytics