读书人

关于in,该怎么解决

发布时间: 2012-01-24 23:11:54 作者: rapoo

关于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)
转换有问题...分析一下转换后的类型

读书人网 >oracle

热点推荐