话说这么写虽然能运行,但是运行出来是空的,为什么呢?前台接过来的参数是10010,00902,10590这种格式
这样写把 用 instr 函数 where instr('10010,00902,10590',MATNR)>0
你那样操作 无非就是想要 查询 matnr 是你传参的那部分
你这个是 in (''10010','00902','10590''),只要两个"||"中间这一段
这样的in永远只有一个参数值吧。并不是想象中的按“,”分割开的多个值。
in后面换成
(select REGEXP_SUBSTR(''''||replace('10010,00902,10590',',',''',''')||'''','[^,]+',1,ROWNUM) AS s
from dual
CONNECT BY ROWNUM<=3)
试试