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有什么关系吗?
或者有其他解决办法?

解决方案 »

  1.   

    select a,b from tbl where c in('0001','0002')
    不等于
    select a,b from tbl where c in('0001,0002')楼主可以用动态PL/SQL来实现。
      

  2.   

    动态语句或者可能用以下方法可以解决,lz不防一试
    select a,b
    from tbl
    where instr(c,x)>0
      

  3.   

    是'0001', '0002'
    动态的就可以吗?
    不过我的sql有点复杂
    有个条件是
    AND CCC IN(DECODE(参数1,0,CCC,参数2)
    这个怎么拼啊?中间有2个参数,又用了DECODE方法和字段CCC
      

  4.   

    (DECODE(参数1,0,CCC,参数2)
    转换有问题...分析一下转换后的类型