oracle时间差计算

Posted 哎哟我去a

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle时间差计算相关的知识,希望对你有一定的参考价值。

1.months_between(date1,date2);date1和date2相减得到相差的月份。

   select months_between(to_date(‘2015-05-11‘,‘yyyy-MM-dd‘),to_date(‘2015-04-11‘,‘yyyy-MM-dd‘)) from dual ;相差一个月。

2.ceil(date1-date2);date1-date2相减得到相差的天数

   select ceil(To_date(‘2015-05-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) - To_date(‘2015-04-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) )from dual ;相差30天。

3.获取两时间相差的豪秒数 ceil((date1 - date2) * 24 * 60 * 60 * 1000)

  select ceil((To_date(‘2015-05-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) - To_date(‘2015-04-11 23:59:59‘ , ‘yyyy-mm-dd hh24-mi-ss‘)) * 24 * 60 * 60 *  1000)  FROM DUAL;

4.获取两时间相差的秒数 ceil((date1 - date2) * 24 * 60 * 60 )
   select ceil((To_date(‘2015-05-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) - To_date(‘2015-04-11 23:59:59‘ , ‘yyyy-mm-dd hh24-mi-ss‘)) * 24 * 60 * 60 )  FROM DUAL;

5.获取两时间相差的分钟数 ceil((date1 - date2) * 24 * 60 )

    select ceil((To_date(‘2015-05-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) - To_date(‘2015-04-11 23:59:59‘ , ‘yyyy-mm-dd hh24-mi-ss‘)) * 24 * 60  )  FROM DUAL;

6.获取两时间相差小时数 ceil((date1 - date2) * 24 )

 select ceil((To_date(‘2015-05-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) - To_date(‘2015-04-11 23:59:59‘ , ‘yyyy-mm-dd hh24-mi-ss‘)) * 24 )  FROM DUAL;

7.其他

   select sysdate,add_months(sysdate,12) from dual;  --加1年

   select sysdate,TO_CHAR(sysdate+1,‘yyyy-mm-dd HH24:MI:SS‘) from dual;  --加1天

   select sysdate,TO_CHAR(sysdate+1/24,‘yyyy-mm-dd HH24:MI:SS‘) from dual;  --加1小时

   select sysdate,TO_CHAR(sysdate+1/24/60,‘yyyy-mm-dd HH23:MI:SS‘) from dual;  --加1分钟

  select sysdate,TO_CHAR(sysdate+1/24/60/60,‘yyyy-mm-dd HH23:MI:SS‘) from dual;  --加1秒

以上是关于oracle时间差计算的主要内容,如果未能解决你的问题,请参考以下文章

在oracle中怎么计算当天是本月的第几周?

oracle 计算两个时间相差的时分秒

SOS 如何在oracle 中计算两日期之间有多少天???并且这两日期都是已经赋了日期的变量:

Oracle 计算时间差

oracle计算两个日期的时间差时分秒

Oracle - 计算时间戳之间的差异大于 1 小时的时间戳