1、月份差
--MONTHS_BETWEEN(date2,date1)
select months_between('19-12月-1999','19-3月-1999') from dual; select months_between(to_date('2000.05.20','yyyy.mm.dd'),to_date('2005.05.20','yyyy.dd')) from dual;2、时间差表达式
--获取两时间的相差豪秒数
select ceil((to_date('2018-05-02 00:00:00' , 'yyyy-mm-dd hh24:mi:ss') - to_date('2018-04-30 23:59:59' , 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 * 60 * 1000) FROM DUAL; --获取两时间的相差秒数 select ceil((to_date('2018-05-02 00:00:00' , 'yyyy-mm-dd hh24:mi:ss') - to_date('2018-04-30 23:59:59' , 'yyyy-mm-dd hh24:mi:ss')) * 24 * 60 * 60) FROM DUAL; --获取两时间的相差分钟数 select ceil(((to_date('2018-05-02 00:00:00' , 'yyyy-mm-dd hh24:mi:ss') - to_date('2018-04-30 23:59:59' , 'yyyy-mm-dd hh24:mi:ss'))) * 24 * 60) FROM DUAL; --获取两时间的相差小时数 select ceil((to_date('2018-05-02 00:00:00' , 'yyyy-mm-dd hh24:mi:ss') - to_date('2018-04-30 23:59:59' , 'yyyy-mm-dd hh24:mi:ss')) * 24) FROM DUAL; --获取两时间的相差天数 select ceil((to_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24:mi:ss') - to_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24:mi:ss'))) FROM DUAL;3、年份差
--获取两时间年份差 select EXTRACT(year FROM to_date('2019-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2018-04-30','yyyy-mm-dd')) years from dual;4、sysdate一般使用
select sysdate,add_months(sysdate,12) from dual; --加1年
select sysdate,add_months(sysdate,1) from dual; --加1月 select sysdate,TO_CHAR(sysdate+7,'yyyy-mm-dd HH24:MI:SS') 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秒 select sysdate+7 from dual; --加7天