oracle两时间相减得到相差的时间
1.months_between(date1,date2);date1和date2相减得到相差的月份。 select months_between(to_date('2015-05-11','yyyy-MM-dd'),to_date('2015-04-11','yyyy-MM-dd')) from dual ;相差一个月。 2.ceil(date1-date2);date1-date2相减得到相差的天数 select ceil(To_date('2015-05-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2015-04-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') )from dual ;相差30天。 3.获取两时间相差的豪秒数 ceil((date1 - date2) * 24 * 60 * 60 * 1000) select ceil((To_date('2015-05-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2015-04-11 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) FROM DUAL; 4.获取两时间相差的秒数 ceil((date1 - date2) * 24 * 60 * 60 ) select ceil((To_date('2015-05-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2015-04-11 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 ) FROM DUAL; 5.获取两时间相差的分钟数 ceil((date1 - date2) * 24 * 60 ) select ceil((To_date('2015-05-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2015-04-11 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 ) FROM DUAL; 6.获取两时间相差小时数 ceil((date1 - date2) * 24 ) select ceil((To_date('2015-05-11 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2015-04-11 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 ) FROM DUAL; 7.其他 select sysdate,add_months(sysdate,12) from dual; --加1年 select sysdate,TO_CHAR(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual; --加1天 select sysdate,TO_CHAR(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual; --加1小时 select sysdate,TO_CHAR(sysdate+1/24/60,'yyyy-mm-dd HH23:MI:SS') from dual; --加1分钟 select sysdate,TO_CHAR(sysdate+1/24/60/60,'yyyy-mm-dd HH23:MI:SS') from dual; --加1秒