请朋友们帮帮忙看看下面的情况,谢谢哈!!

请问,我在sqlserver中想用in判断范围进行批量删除,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢?
字符串内容可能会是 'a','b','c','d' 这种类型的
也可能是 1,2,3,4,5 这种类型的,我现在想不出传进去的参数如何拆分在组装能编程in()能正确识别的结构

HUH函数
浏览 78回答 2
2回答

慕桂英4014372

字符串应该类似'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')

绝地无双

如果 'a','b','c','d' 是别的表中的数据,那么类型只有一种,select * from 表A where 列名A in (select 列名A from 表B)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server