Oracle中通常使用add_months()来帮助统计 最近某几个月的数据
add_months(sysdate,-1) --近1个月的数据
add_months(sysdate,-3) --近3个月的数据
add_months(sysdate,-6) --近6个月的数据
比如可以这样查询
select * from 表名 where acctime<add_months(systimestamp,-3)
案例如下:
create table t1 (a timestamp);
insert into t1 values (TO_TIMESTAMP('2012-04-01 12:12:09', 'YYYY-MM-DD HH24:MI:SS'));
insert into t1 values (TO_TIMESTAMP('2012-03-01 12:12:09', 'YYYY-MM-DD HH24:MI:SS'));
insert into t1 values (TO_TIMESTAMP('2012-02-01 12:12:09', 'YYYY-MM-DD HH24:MI:SS'));
insert into t1 values (TO_TIMESTAMP('2012-01-01 12:12:09', 'YYYY-MM-DD HH24:MI:SS'));
insert into t1 values (TO_TIMESTAMP('2012-04-12 12:12:09', 'YYYY-MM-DD HH24:MI:SS'));
select * from t1
where a >= add_months(sysdate,-3) and a <= sysdate
a
-----------------------------------------------
1 01-4月 -12 12.12.09.000000 下午
2 01-3月 -12 12.12.09.000000 下午
3 01-2月 -12 12.12.09.000000 下午
4 12-4月 -12 12.12.09.000000 下午
参见:
oracle中查询表中前3个月记录解决办法 -Oracle教程-爱易网页
oracle中add_months()统计近1个月、近3个月、近6个月_oracle查询最近三个月的数据_数据分析师之家的博客-CSDN博客