一、问题场景描述
在sql 条件中,如何在 where in()中想传入参数,如果直接 where in(:seqList),当传入单个值,seqList:= ‘80’ 是没问题的,但是初入多个值时,seqList:= ‘80,90’ ,因缺少单引号,导致查询结果不对。
二、解决办法
使用正则变换函数 regexp_substr()
select * from fa_receita_farmacia_proc t where  t.NR_SEQUENCIA in 
        (SELECT 
         REGEXP_SUBSTR(:V_parameter,'[^,]+', 1, LEVEL) 
         FROM DUAL 
         CONNECT BY 
         REGEXP_SUBSTR(:V_parameter, '[^,]+', 1, LEVEL) IS NOT NULL) ;
测试数据: 20,30,40
 执行结果:
 






![[每周一更]-(第68期):Excel常用函数及常用操作](https://img-blog.csdnimg.cn/045be5d78ee84b8d83514c0471f78607.png#pic_center)












