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

Oracle计算时间差函数
两个Date类型字段: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 * 1000)

SELECT 
  '2018/12/01 13:00:00',
  to_char(sysdate,'yyyy/MM/dd HH24:mi:ss'),
  sysdate-to_date('2018/12/01 13:00:00','yyyy/MM/dd HH24:mi:ss'),
  trunc( TO_NUMBER(sysdate-to_date('2018/12/01 13:00:00','yyyy/MM/dd HH24:mi:ss')) ) "天" ,
  mod(trunc(TO_NUMBER(sysdate  -to_date('2018/12/01 13:00:00','yyyy/MM/dd HH24:mi:ss')) * 24),24) "时",
  mod(trunc(TO_NUMBER(sysdate  -to_date('2018/12/01 13:00:00','yyyy/MM/dd HH24:mi:ss')) * 24*60),60) "分",
  mod(trunc(TO_NUMBER(sysdate  -to_date('2018/12/01 13:00:00','yyyy/MM/dd HH24:mi:ss')) * 24*60*60),60) "秒"
FROM dual;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容