加法
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 HH24:MI:SS') from dual; --加1分钟
select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --加1秒
减法
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 HH24:MI:SS') from dual; --减1分钟
select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual; --减1秒
日期与日期之间不能相加
日期与数字就可相加
SQL> select sysdate+1 from dual;
日期与日期可以相减
SQL> select sysdate-sysdate from dual;
Add_Months(D,X)
返回D日期加上X个月后的日期
Last_Day(D)
返回包含日期D的月份的最后一天的日期
add_months(sysdate,1)加一个月
add_months(sysdate,-1)减一个月
sysdate+1 加一天
-------------------------------------------------------------------------------
Months_Between(D1,D2)
返回D1、D2之间的月份数目
New_Time(D,Z1,Z2)
返回时区Z1里时间为D时Z2时区的时间
Next_Day(D,S)
返回满足条件S的下一天
S为星期几
Round(D,F)
日期D按照格式F进行舍入
Sysdate
返回数据库当前时间
Trunc(D,F)
按照格式F截断时间D
另外:日期可以直接加减
如:sysdate +1,sysdate -1
------------------------------------------------------------
sysdate+1 加一天
sysdate+1/24 加1小时
sysdate+1/(24*60) 加1分钟
sysdate+1/(24*60*60) 加1秒钟
原文:http://leonandjava.iteye.com/blog/430397
http://www.cnblogs.com/raymond19840709/archive/2008/03/31/1131471.html