在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual
创新互联是一家专注于网站设计制作、成都网站设计与策划设计,西秀网站建设哪家好?创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:西秀等地区。西秀做网站价格咨询:18982081108
在Oralce中我发现有add_months函数,加天数N可以用如下方法实现,select sysdate+N from dual ,
sysdate+1 加一天
sysdate+1/24 加1小时
sysdate+1/(24*60) 加1分钟
sysdate+1/(24*60*60) 加1秒钟
类推至毫秒0.001秒
加法
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秒
sysdate+1,是当前时间后一天对应的时间。
举例如下:
1、打开plsql,并登陆Oracle数据库;
2、编写sql,
select sysdate, sysdate + 1 from dual t;
3、点击‘执行’按钮;
4、查看执行结果;可以看到sysdate+1为sysdate对应的当前时间,向后移一天;分别是:
2020-02-05 15:16:02、2020-02-06 15:16:02
select to_char(to_date('20090908', 'yyyymmdd') + 1, 'yyyymmdd'),
to_number('20090908') + 1
from dual
以上两种方式在Oracle中都能解决你的问题。
sysdate是日期型的,日期型可以直接加减天数得到新的日期, 如 sysdate+1,sysdate-1,当天是本月第一天的时候你减一就是上月最后一天,你不要担心ORACLE会给你减出个非法日期,当然你使用中转其他类型时最好加上括号如(sysdade-1)防止运算顺序错误造成意外的结果。