Months_between()
months_between函數(shù)返回兩個日期之間的月份數(shù)秀又。如果兩個日期月份內(nèi)天數(shù)相同涮帘,或者都是某個月的最后一天拼苍,返回一個整數(shù),否則调缨,返回數(shù)值帶小數(shù)疮鲫,以每天1/31月來計算月中剩余天數(shù)吆你。
select months_between(sysdate,to_date('2016-05-16','yyyy-MM-dd')) from dual;
Add_months()
ADD_MONTHS是運算函數(shù),函數(shù)將一個日期上加上一指定的月份數(shù)俊犯,所以妇多,日期中的日是不變的
select add_months(sysdate,1) from dual;
Next_day()
(ie: SUNDAY, MONDAY, TUESDAY, WEDNESDAY,THURSDAY, FRIDAY, SATURDAY)
在Oracle是提供了next_day求指定日期的下一個日期.
select next_day(sysdate,'星期一') from dual;
Last_day
last_day是個函數(shù),返回某個時間值的當(dāng)月最后一天
select last_day(sysdate) from dual;
日期加法
select sysdate,add_months(sysdate,12) fromdual;???????? --加1年
select sysdate,add_months(sysdate,1) fromdual;???????? --加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-ddHH24:MI:SS') from dual;--加1小時
select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-ddHH24:MI:SS') from dual;--加1分鐘select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-ddHH24:MI:SS') from dual; --加1秒
日期減法
select sysdate,add_months(sysdate,-12) fromdual;???????? --減1年
select sysdate,add_months(sysdate,-1) fromdual;???????? --減1月
select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS')from dual;?--減1星期selectsysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual;? --減1天
select sysdate,to_char(sysdate-1/24,'yyyy-mm-ddHH24:MI:SS') from dual; --減1小時
select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-ddHH24:MI:SS') from dual; --減1分鐘select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-ddHH24:MI:SS') from dual; --減1秒