关于in
select a,b
from tbl
where c in( '0001, 0002 ')
这样直接运行sql是可以正确检索出数据的
但是如果在package body里写方法
用参数如x传递 '0001, 0002 '就检索不出来
select a,b
from tbl
where c in(x)
这是什么原因,和in有什么关系吗?
或者有其他解决办法?
------解决方案--------------------select a,b from tbl where c in( '0001 ', '0002 ')
不等于
select a,b from tbl where c in( '0001,0002 ')
楼主可以用动态PL/SQL来实现。
------解决方案--------------------动态语句或者可能用以下方法可以解决,lz不防一试
select a,b
from tbl
where instr(c,x)> 0
------解决方案--------------------到底是 '0001, 0002 '还是 '0001 ', '0002 '?
------解决方案--------------------是 '0001 ', '0002 '
------解决方案--------------------(DECODE(参数1,0,CCC,参数2)
转换有问题...分析一下转换后的类型