获取一个月前的日期
trunc(add_months(sysdate,-1))
一个月前
select * from t where t.date <trunc(add_months(sysdate,-1))
最近一个月
select * from t where t.date >= trunc(add_months(sysdate,-1))
create or replace function test(rq in date) return isResult
begin
Result:=Add_Months(rq,-1)
return(Result)
end test
你的数据库是Oracle吗?
另外前一天为1是什么意思,哪列的值吗?
1、创建测试表,
create table test_date(id varchar2(20), v_date date)
2、插入测试数据
insert into test_date values(1, sysdate-30)
insert into test_date values(2, sysdate-40)
insert into test_date values(3, sysdate-60)
insert into test_date values(4, sysdate-80)
insert into test_date values(5, sysdate-90)
commit
3、查询表中全量数据,select t.*, rowid from test_date t
4、编写sql,查询指定月份之前的几个月;例如,查询当前时间前两个月的数据;
select t.* from test_date t where to_char(v_date,'yyyymm') = to_char(add_months(sysdate,-2), 'yyyymm')
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)