sqlserver中想用in判断范围,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢?
请问,我在sqlserver中想用in判断范围进行批量删除,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢?字符串内容可能会是'a','b','c'...
请问,我在sqlserver中想用in判断范围进行批量删除,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢?
字符串内容可能会是 'a','b','c','d' 这种类型的
也可能是 1,2,3,4,5 这种类型的,我现在想不出传进去的参数如何拆分在组装能编程in()能正确识别的结构
请朋友们帮帮忙,谢谢哈!! 展开
字符串内容可能会是 'a','b','c','d' 这种类型的
也可能是 1,2,3,4,5 这种类型的,我现在想不出传进去的参数如何拆分在组装能编程in()能正确识别的结构
请朋友们帮帮忙,谢谢哈!! 展开
3个回答
展开全部
字符串应该类似'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')
拼字符串 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')
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果 'a','b','c','d' 是别的表中的数据,那么类型只有一种,
select * from 表A where 列名A in (select 列名A from 表B)
select * from 表A where 列名A in (select 列名A from 表B)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
delete from 表名 where 列名 like ‘%[a,b,c,d]%' or 列名 like '%[1,2,3,4]%'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询