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

怎的在存储过程中使用输入参数,然后用于 Where .In (@参数)

2012-09-14 
怎样在存储过程中使用输入参数,然后用于 Where ...In (@参数)定义输入参数:@InputID varchar(100)比如可以

怎样在存储过程中使用输入参数,然后用于 Where ...In (@参数)
定义输入参数:
@InputID varchar(100)

比如可以输入:0001,0002,0003

然后使用
...
WHERE InputID IN (@InputID) //但是这个语句不管用!

我想实现的效果是:WHERE InputID IN (0001,0002,0003)


[解决办法]
1)动态
exec('select * from tb where InputID IN ('+@InputID+')')

调用
exec procname '''0001'',''0002'',''0003'''
2)
charindex 
select * from tb where charindex(','+ltrim(inputid)+',',','+@InputID+',')>0
[解决办法]
create pro p_t @s varchar(100)
as
begin
exec('select * from tb where inputid in ('+@s +')')
end

热点排行