急!传入整型“列表”参数到存储过程IN语句中的解决办法???
写了个存储过程,其中有条SQL语句为:
SELECT * FROM TB1 WHERE ID IN (我的参数列表)
现在的问题是ID为整形数据,我应该如何传入我的参数列表呢?
比如我想传入
4,49,50
试了好久都不行,麻烦大家帮帮忙哈.
谢谢了.
[解决办法]
declare @mylist varchar(1000)
declare @sql varchar(8000)
set @sql = 'SELECT * FROM TB1 WHERE ID IN ( '
set @mylist = '1,4,19 '
set @sql = @sql + @mylist + ') '
exec(@sql)
[解决办法]
exec( 'SELECT * FROM TB1 WHERE ID IN ( '+@参数+ ') ')
[解决办法]
传入的时候是要以字符串形式进行的,所以要定义一个字符类型的变量进行参数传递:
declare @s nvarchar(100)
set @s = '4,49,50 '
exec( 'SELECT * FROM TB1 WHERE ID IN ( ' + @s + ') ')