oracle 时间加减综合

来源:互联网 发布:应该妻子漂亮知乎 编辑:程序博客网 时间:2024/05/01 22:30

加法
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秒钟 
原创粉丝点击