oracle 时间加减

2025-02-25 18:07:29
推荐回答(3个)
回答1:

1、测试数据库Oracle10G。

2、工具PLSQL Developer。

3、测试语句。

select to_date('2010/10/10 10:10:10', 'YYYY/MM/DD HH24:MI:SS') - 

to_date('2010/09/10 10:10:10', 'YYYY/MM/DD HH24:MI:SS') from dual

返回结果30

回答2:

首先两个时间想减以后的数据类型不是date!!!!而是INTERVAL类型。下面是官方解释:
INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds)]
Stores a period of time in days, hours, minutes, and seconds,。
然后再用EXACT(year或month或day或minute或second from 两时间想减)来提取出你要的时间差。
如果想用把时间差统一以秒为单位,可以EXACT(minute from 两时间想减)* 60 + EXACT(second from 两时间想减)来拼凑。
有不明白的可以补充问题。

回答3:

select to_date(
(select sysdate-
to_date('2010/09/10 10:10:10','yyyy/mm/dd hh24:mi:ss') from dual),'J')
from dual;

我自己写的,不知道对不对,你试下!