java调用oracle存储过程 关于sql里面in函数参数的问题

in函数里面的参数是字符类型的,如'1330251','1336140'直接使用值代替参数,就可以查出来,但是传参进去就查不出任何结果,打印出来pkStagesPerso... in函数里面的参数是字符类型的,如'1330251','1336140'

直接使用值代替参数,就可以查出来,但是传参进去就查不出任何结果 ,打印出来pkStagesPersonArray 的参数值为:'1330251','1336140',感觉没错,但是就是没值,求高手指点一二。
展开
 我来答
belovefrog
2014-01-03 · TA获得超过568个赞
知道小有建树答主
回答量:1025
采纳率:0%
帮助的人:645万
展开全部
调用存储过程是java 把组合起来的字符串传到数据库后台操作,如果你in ( pkStagesPersonArray),传到数据库后台还是 in ( pkStagesPersonArray) 而非你想要的 in('1330251','1336140' )所以你应该把pkStagesPersonArray 里面的内容转换成 '1330251','1336140' 再拼接起来
更多追问追答
追问

我java也是这么写的,执行的时候,没值。在oracle里面执行也没值,截图给你看看,

,如果pkStagesPersonArray=‘1330251’或者='1336140'就会有对应的值。

追答
你可以看看plsql 语法  你的单引号多了 
举个栗子
a.mobileid in('123','456','789')
语法是这样的 不是(''123','234','345'')
bluesky21th
2014-01-03 · TA获得超过241个赞
知道小有建树答主
回答量:385
采纳率:0%
帮助的人:239万
展开全部
pkStagePersonArray 是什么数据类型,可能是和数据类型有关,'1330251','1336140'这个值怎么传进去的。
更多追问追答
追问
字符串。
追答
图上pkStagePersonArray 的值引号好多, 按现在应该是 in ("   '1330251','1336140'  ") 这个样子,可以把pkStagePersonArray 按逗号先分隔开,在连接成'1330251','1336140' 这个格式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式