轻松学会在Oracle中实现时间相加处理
2007-08-20 12:38:21 来源:WEB开发网核心提示:今天由于项目的需要,我负责编写Oracle中的存储过程,轻松学会在Oracle中实现时间相加处理,以前从来没有接触过,这次是个很好的学习机会,通过网络找资料,但是最终一无所获,好好把握!但是,在使用过程中
今天由于项目的需要,我负责编写Oracle中的存储过程。以前从来没有接触过,这次是个很好的学习机会,好好把握!
但是,在使用过程中,遇到一个问题,不知道该如何实现时间相加功能,因为系统中需要用来时间相加功能。通过网络找资料,但是最终一无所获。于是,决定自己写一个!希望可以给朋友有所帮助!
create or replace function Add_Times
(d1 in date,NewTime in date) return date
is
hh number;
mm number;
ss number;
hours number;
dResult date;
begin
-- 下面依次取出时、分、秒
select to_number(to_char(NewTime,?HH24?)) into hh from dual;
select to_number(to_char(NewTime,?MI?)) into mm from dual;
select to_number(to_char(NewTime,?SS?)) into ss from dual;
-- 换算出NewTime中小时总和
hours := (hh + (mm / 60) + (ss / 3600))/ 24;
-- 得出时间相加后的结果
select d1 + hours into dResult from dual; return(dResult); end Add_Times;
-- 测试用例
-- select Add_Times(sysdate,to_date
(?2004-12-06 03:23:00?,?YYYY-MM-DD HH24:MI:SS?))
from dual
- ››oracle 恢复误删除的表和误更新的表
- ››Oracle分页查询排序数据重复问题
- ››Oracle创建dblink报错:ORA-01017、ORA-02063解决
- ››Oracle 提高SQL执行效率的方法
- ››轻松清理Windows7系统记录技巧4则
- ››轻松清理 Win7记录4则技巧
- ››Oracle 动态查询,EXECUTE IMMEDIATE select into...
- ››Oracle 11g必须开启的服务及服务详细介绍
- ››oracle性能34条优化技巧
- ››oracle数据库生成随机数的函数
- ››Oracle 数据库表空间容量调整脚本
- ››oracle单库彻底删除干净的方法
更多精彩
赞助商链接