收藏本站 
广告服务 
网站地图 
>> 我们从网络和杂志上收集了近100000余篇各类电脑技术、网络技术、软件技术等方面的文章教程,我们的收录原则:不是精华拒不收录!
先飞电脑技术网技术文章数据库开发Oracle
网络编程 | 网站建设 | 网络技术 | 设计教程 | 软件教学 | 程序开发 | 数据库开发 | 教育认证 | 硬件维护 | 媒体动画 | 机械电子 |
轻松学会在Oracle中实现时间相加处理
[ 作者:佚名    转贴自:网络转载    阅读次数:53    更新时间:2007-8-28 16:24:00   录入:刘光勇 ]         
    如何在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 *Graphics中不同类型图形的切换
相关文章
·轻松搞定Vista看高清电影声音太小[20]
·运用LINQ轻松清除SQL注入式攻击[107]
·轻松理解数据库滞后联编和对象嵌套[89]
·轻松学会用SQL Mail来创建日常报告[69]
·轻松掌握数据库的工作原理[81]
网站主页 | 收藏本页 | 联系我们 | 广告服务 | 站点地图 | 会员注册 | 招聘信息 | 内容指正

联系QQ:先飞电脑技术网站事务联系QQ,点击可以直接留言. 32933427 电话:13710542091 [世界排名] 鄂ICP备05005890号