当前位置: 代码迷 >> Oracle管理 >> 请教ORACLE中,怎样获得两个时间相差的秒数
  详细解决方案

请教ORACLE中,怎样获得两个时间相差的秒数

热度:23   发布时间:2016-04-24 05:55:38.0
请问ORACLE中,怎样获得两个时间相差的秒数?
比如20080501000000与20080430235959之间相差1秒,怎样在ORACLE中得到?
谢谢

------解决方案--------------------
Oracle计算时间差表达式

有两个日期数据START_DATE,END_DATE,欲得到这两个日期的时间差(以天,小时,分钟,秒,毫秒):
天:
ROUND(TO_NUMBER(END_DATE - START_DATE))
小时:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)
分钟:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)
秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)
毫秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 60)
 

------解决方案--------------------
SQL code
select (To_date('2008-05-01 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 相差秒数 FROM DUAL;/*相差秒数----------11 row selected*/
  相关解决方案