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 ROUND(TO_NUMBER(to_date(to_char(sysdate,yyyy-MM-dd hh24:mi:ss),yyyy-MM-dd hh24:mi:ss) - to_date(-05-11 10:37:40,yyyy-MM-dd hh24:mi:ss))*24*60*60) from dual .
select ROUND(TO_NUMBER(to_date(to_char(sysdate,yyyy-MM-dd hh24:mi:ss)
- to_date(-01-16 00:00:00,yyyy-MM-dd hh24:mi:ss))*24*60*60) from dual
to_date