存储过程中,如果where条件是动态增加的,如何实现

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

别总想着拼字符串,这就是很普通的sql

where state in (
select to_char(last_day(add_months(trunc(sysdate, 'yy'), level - 1)), 'yyyy-mm-dd')
  from dual
connect by level <= (select to_number(to_char(sysdate, 'fmmm')) from dual)
)

 

使用日期函数在当前系统日期的基础上加一天就可以 了。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632