Oracle计算时间差

来源:互联网 发布:java项目怎么上线 编辑:程序博客网 时间:2024/06/05 08:21
Oracle中计算时间差是经常用到的。可以使用“日期1-日期2”并加以运算,来获得你要想的时间差:天、小时、分钟或者秒。

例如:

 
  1. select
  2. 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') as Day
  3. from dual;

结果:

\

这里的TO_DATE很有用,它决定你的时间存储格式。
那么如果要获取相应的时间单位,下面:
1、以天为单位

 
  1. round(to_number(end-date-start_date))

例如:

 
  1. select
  2. 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'))) as Day
  3. from dual;

结果:

\
2、以小时为单位

 
  1. round(to_number(end-date-start_date)*24)

例如:

 
  1. select
  2. 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) as Hour
  3. from dual;

结果:

\
3、以分钟为单位

  1. round(to_number(end-date-start_date)*1440)

例如:

  1. select
  2. 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
  3. from dual;

结果:

\


文章转自:http://www.2cto.com/database/201202/120375.html

原创粉丝点击