加一个月 SELECT ADD_MONTHS(SYSDATE,1) FROM DUAL
前两个月 SELECT ADD_MONTHS(SYSDATE,-2) FROM DUAL
你替换一下就OK了。
1、创建测试表,create table test_date(v_date date);
2、插入测试数据,
insert into test_date
select sysdate - level 10 from dual connect by level < 100
3、查询表中所有记录,select from test_date,可以看到时间格式为年月日时分秒,
4、编写sql,将时间截取到年月,
select t,
to_char(v_date, 'yyyymm') v_date_mon1,
trunc(v_date, 'mm') v_date_mon2
from TEST_DATE t
不会用函数吗? 其实你就是想查去年1月到去年今天的语句吧?一看就知道是想算同比了。
ADD_MONTHS(sysdate,-12) 去年今天
ADD_MONTHS(trunc(sysdate,'yyyy') ,-12)去年第一天
where DATE>=ADD_MONTHS(trunc(sysdate,'yyyy') ,-12) and date<=ADD_MONTHS(sysdate,-12)
或者 where date between ADD_MONTHS(trunc(sysdate,'yyyy') ,-12) and ADD_MONTHS(sysdate,-12)
最佳可行,附上另外一种方法,返回的结果是date类型的
select add_months(to_date(tochar(sysdate,'yyyy'),'yyyy'),-11) from dual
或者
select to_date(tochar(sysdate,'yyyy')||'01','yyyy-mm') from dual
以上就是关于oracle中怎么获取date时间过后一个月的时间,给个例子。表date1(borrowtime date,backtime date)全部的内容,包括:oracle中怎么获取date时间过后一个月的时间,给个例子。表date1(borrowtime date,backtime date)、ORACLE 中如何将日期中年月日截取到年月、Oracle查询去年1月1日到去年今天的数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)