新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > 数据库 > Oracle教程 > 正文:轻松学会在Oracle中实现时间相加处理

轻松学会在Oracle中实现时间相加处理

新客网 XKER.COM 2007-08-20 来源: Alice 收藏本文

如何在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
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐