sqlserver中想用in判断范围,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢?

请问,我在sqlserver中想用in判断范围进行批量删除,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢?字符串内容可能会是'a','b','c'... 请问,我在sqlserver中想用in判断范围进行批量删除,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢?

字符串内容可能会是 'a','b','c','d' 这种类型的
也可能是 1,2,3,4,5 这种类型的,我现在想不出传进去的参数如何拆分在组装能编程in()能正确识别的结构

请朋友们帮帮忙,谢谢哈!!
展开
 我来答
传说中的鹰王
推荐于2017-11-25 · TA获得超过1053个赞
知道小有建树答主
回答量:923
采纳率:87%
帮助的人:554万
展开全部
字符串应该类似'a,b,c,d' 或者'1,2,3,4'这样的吧?
拼字符串 set @str='select * from tb where 字段 in ('+char(39)+replace('字符串',',',char(39)+','+char(39)))+char(39)+')'
exec(@str)
就是把'a,b,c,d' 替换成 ('a','b','c','d')
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友bd0325f
2012-02-24 · TA获得超过373个赞
知道小有建树答主
回答量:298
采纳率:0%
帮助的人:199万
展开全部
如果 'a','b','c','d' 是别的表中的数据,那么类型只有一种,

select * from 表A where 列名A in (select 列名A from 表B)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
邋遢道神通7
2012-02-25 · TA获得超过406个赞
知道小有建树答主
回答量:236
采纳率:37%
帮助的人:111万
展开全部
delete from 表名 where 列名 like ‘%[a,b,c,d]%' or 列名 like '%[1,2,3,4]%'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式