首页新闻找找看学习计划

存储过程中的in 中的逗号怎么解决

0
悬赏园豆:10 [已解决问题] 解决于 2017-08-28 16:57

一般情况下,存储过程中的sql语句使用了 in ,关键in的这个田条件本身就有逗号,如下,调用时该如何处理

select * from A  where code in('0,1','0,2') 

郎中令的主页 郎中令 | 初学一级 | 园豆:23
提问于:2017-08-19 23:13
< >
分享
最佳答案
0

sql语句最外面加一个 exec('')  其语句为(where a in('+@str+'))然后在Net中调用即可

郎中令 | 初学一级 |园豆:23 | 2017-08-28 16:56
其他回答(2)
0

http://blog.sina.com.cn/s/blog_6ebc885a0101f9qk.html
这个能不能解决你的问题

收获园豆:5
流年飞雨 | 园豆:1928 (小虾三级) | 2017-08-20 00:02
0

怎么处理取决于你传进存储过程的参数值啊!!

如果传入的是类似 ‘a’,'b','c' 这样一个字符串的话,直接放到in的条件中就可以。

select * from A  where code in(@param) ;

如果传入的是类似 a,b,c 这样的就,就要处理成带单引号的形式(下面是基于SQLSERVER的一个例子)。

select * from A  where code in('''' + REPLACE(@param,',',''',''') + '''');

具体情况要具体分析!!

收获园豆:5
Catcher8 | 园豆:362 (菜鸟二级) | 2017-08-20 09:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册