两个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)
Oracle计算时间差函数 2008-08-20 10:00 两个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)
外加to_date与to_char函数:
ORACLE中: select to_date(‘2007-06-28 19:51:20‘,‘yyyy-MM-dd HH24:mi:ss‘) from dual; 一般SQL中: select to_date(‘2007-06-28 19:51:20‘,‘yyyy-MM-dd HH:mm:ss‘) from dual; 区别: 1、HH修改为HH24。 2、分钟的mm修改为mi。
24 小时的形式显示出来要用 HH24
select to_char(sysdate,‘yyyy-MM-dd HH24:mi:ss‘) from dual;
select to_date(‘2005-01-01 13:14:20‘,‘yyyy-MM-dd HH24:mi:ss‘) from dual;