17,382
社区成员
发帖
与我相关
我的任务
分享
select a.*
from tableName A ,(
SELECT DECODE (INSTR (:in_str, ',', 1, 1),
0, :in_str,
SUBSTR (:in_str,
DECODE (ROWNUM,
1, 1,
INSTR (:in_str,
',',
1,
ROWNUM - 1
)
+ 1
),
DECODE (ROWNUM,
1, INSTR (:in_str, ',', 1, 1) - 1,
LENGTH (:in_str)
- LENGTH (REPLACE (:in_str,
',',
''
)
)
+ 1, LENGTH (:in_str),
INSTR (:in_str, ',', 1, ROWNUM)
- 1
- INSTR (:in_str,
',',
1,
ROWNUM - 1
)
)
)
) in_str
FROM DUAL
CONNECT BY ROWNUM <=
LENGTH (:in_str)
- LENGTH (REPLACE (:in_str, ',', ''))
+ 1) b
where instr(a.code,b.in_str,1)>0