浅谈利用浮点数操作Oracle数据库日期

2012-10-17来源 : 3158招商加盟网-职考充电作者:教育频道编辑

众所周知,Oracle的时间可以直接用来加减操作,比如

select sysdate, sysdate - 2 from dual "SYSDATE"    "SYSDATE-2"-----------------------------------"19-5月 -09"    "17-5月 -09"  很明显,sysdate - 2表示的日期-2,也就是2天前的时间,2天后的时间+2就可以了。

  但是,有的时候我们不需要2天前或者2天后这么长的时间,我们需要2小时前,或者2分钟前的时间。

  但是并没有发现Oracle有关于小时或者分钟直接操作的函数,本人也非常纳闷。

  后来查找资料和朋友们的帮助,才知道日期用于加减操作的时候是一个浮点数,于是做了2个实验。

  实验1:

select to_char(sysdate, 'yyyy-MM-dd hh24:mi:ss') cur_time, to_char(sysdate - 2 / 24, 'yyyy-MM-dd hh24:mi:ss') time_before_2_hourfrom dual; "CUR_TIME"                       "TIME_BEFORE_2_HOUR"-------------------------------------------------------------------"2009-05-19 09:21:58"    "2009-05-19 07:21:58"  实验2:

select to_char(sysdate, 'yyyy-MM-dd hh24:mi:ss') cur_time, to_char(sysdate - 2 / (24 * 60), 'yyyy-MM-dd hh24:mi:ss') time_before_2_minutesfrom dual; "CUR_TIME"                      "TIME_BEFORE_2_MINUTES"---------------------------------------------------------------------"2009-05-19 09:24:18"    "2009-05-19 09:22:18"  结果显示比较明显了,2小时前就是2/24天,2分钟就是2/(24*60)天,Oracle日期的加减还是day上的加减,不过他是一个浮点数,所以转换成日期之后实际上就是时间上的加减。

 

免责声明内容来源于网络,本站不保证所有内容的完整性、真实性和准确性,如有侵权请及时联系,我们核对情况属实,对该内容进行下架删除。[删除申请]

咨询项目,请扫微信二维码。
微信扫码
在线咨询
领取资料
微信扫一扫、长按二维码、点击“在线咨询”,发送项目名或品牌名,立即咨询加盟项目。

温馨提醒创业有风险,投资需谨慎。为规避加盟投资风险,3158招商加盟网建议您在投资前务必多考察、多了解,降低创业风险。

©2004 3158招商加盟网. All Rights Reserved.

3158招商加盟网友情提示:投资有风险,选择需谨慎