首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

关于in,该怎么解决

2012-01-24 
关于inselecta,bfromtblwherecin( 0001,0002 )这样直接运行sql是可以正确检索出数据的但是如果在packagebo

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

热点排行