浅谈利用浮点数操作Oracle数据库日期_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

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

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

黑客防线网安网讯:众所周知,Oracle的时间可以直接用来加减操作,比如select sysdate, sysdate - 2 from dual"SYSDATE"    "SYSDATE-2"-----------------------------------"19-5月 -09"    "17-5月 -09" 很明...

众所周知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上的加减,不过他是一个浮点数,所以转换成日期之后实际上就是时间上的加减

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-12474-1.html
网站维护教程更新时间:2012-03-23 00:41:33  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer