【转】Oracle计算时间差
Oracle中计算时间差是经常用到的。可以使用“日期1-日期2”并加以运算,来获得你要想的时间差:天、小时、分钟或者秒。
例如:
- select
- TO_DATE('2012-02-20 17:45:04','yyyy-mm-dd hh24:mi:ss')-TO_DATE('2012-02-19 08:34:04','yyyy-mm-dd hh24:mi:ss') asDay
- from dual;
结果:
这里的TO_DATE很有用,它决定你的时间存储格式。
那么如果要获取相应的时间单位,下面:
1、以天为单位
- round(to_number(end-date-start_date))
例如:
- select
- round(to_number(TO_DATE('2012-02-20 17:45:04','yyyy-mm-dd hh24:mi:ss')-TO_DATE('2012-02-19 08:34:04','yyyy-mm-dd hh24:mi:ss'))) asDay
- from dual;
结果:
2、以小时为单位
- round(to_number(end-date-start_date)*24)
例如:
- select
- round(to_number(TO_DATE('2012-02-20 17:45:04','yyyy-mm-dd hh24:mi:ss')-TO_DATE('2012-02-19 08:34:04','yyyy-mm-dd hh24:mi:ss'))*24) asHour
- from dual;
结果:
3、以分钟为单位
- round(to_number(end-date-start_date)*1440)
例如:
- select
- round(to_number(TO_DATE('2012-02-20 17:45:04','yyyy-mm-dd hh24:mi:ss')-TO_DATE('2012-02-19 08:34:04','yyyy-mm-dd hh24:mi:ss'))*1440) as Minite
- from dual;
结果:
作者 白杨树
==================================原文链接===此文章由博客转发小工具转发==================================
- 学习本是一个不断抄袭、模仿、练习、创新的过程。
- 虽然,园中已有本人无法超越的同主题博文,为什么还是要写。
- 对于自己,博文只是总结。在总结的过程发现问题,解决问题。
- 对于他人,在此过程如果还能附带帮助他人,那就再好不过了。
- 由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充!
- 感谢您的阅读。如果文章对您有用,那么请轻轻点个赞,以资鼓励。
- 工控物联Q群:995475200