Oracle计算两时间的差

1计算两个date的时间差

https://www.cnblogs.com/wmm15738807386/p/8177512.html

两个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('2012-05-11 10:37:40','yyyy-MM-dd hh24:mi:ss'))*24*60*60) from dual .

2timestamp转成date类型

(1)比如timestamp字段为sqsj

则sqsj+0为date类型

(2)to_date(to_char(timestamp字段,'yyyy-mm-dd'),'yyyy-mm-dd')

你可能感兴趣的:(oracle)