首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

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

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

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

请朋友们帮帮忙,谢谢哈!!

[解决办法]

SQL code
declare @s varchar(100)set @s='a,b,c,d'select * from tb where charindex(','+col+',',','+@s+',')>0
[解决办法]
SQL code
--不用拆分也可以作为条件。declare @T table (id int,col varchar(1))insert into @Tselect 1,'a' union allselect 2,'b' union allselect 3,'c' union allselect 4,'d'declare @sql varchar(10)set @sql='2,4'select * from @T where charindex(','+ltrim(id)+',',','+@sql+',')>0/*id          col----------- ----2           b4           d*/
[解决办法]
探讨
请问,我在sqlserver中想用in判断范围进行批量删除,但只能输入一个字符串参数,如何拆字符串然后动态拼in()里面的内容呢?

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

请朋友们帮帮忙,谢谢哈!!

热点排行