暂无图片
存储过程中,如果where条件是动态增加的,如何实现
我来答
分享
豆豆
2021-06-01
存储过程中,如果where条件是动态增加的,如何实现

写oracle存储过程,如果where state in(‘2021-01,31’,’2021-02-28’,’2021-03-31’)条件里面的日期是根据当前月份来决定的,比如当前是2021-04-30,那条件就加到2021-04-31,这样如何实现呢

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
徐国奇

set serveroutput on;
declare
mon varchar2(4);
v_sql varchar2(20);
v_1 varchar2(200);
v_sql_2 varchar2(1000);
begin
select extract(month from sysdate) into mon from dual;
for i in 0…mon-1 loop
select ‘’’’||to_char(last_day(add_months(sysdate,-i)),‘yyyy-mm-dd’)||’’’’ into v_sql from dual;
v_1:=v_1||’,’||v_sql;
end loop;
v_sql_2:=‘select * from test where v_1 in (’||substr(v_1,2)||’)’;
dbms_output.put_line(v_sql_2);
end;
/

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏