-- 对时间的操作
对当前日期增加一个小时:
SQL> select sysdate, sysdate+numtodsinterval(1,’hour’) from dual ;
对当前日期增加50分种
SQL> select sysdate, sysdate+numtodsinterval(50,’minute’) from dual ;
对当前日期增加45秒
SQL> select sysdate, sysdate+numtodsinterval(45,’second’) from dual ;
对当前日期增加3天
SQL> select sysdate, sysdate+3 from dual ;
对当前日期增加4个月
SQL> select sysdate, add_months(sysdate,4) from dual ;
当前日期增加2年
SQL> select sysdate, add_months(sysdate,12*2) from dual ;
求时间差:
月(年可以用求出来的月进行转换,即用月数除2)
months_between(sysdate,'18-8月-08') 当前时间距2008-8-18共多少个月
select floor(months_between(sysdate,'18-8月-08')) mon from dual;
天:
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)