相关疑难解决方法(0)

如何在存储过程SQL Server 2008中使用`IN`运算符传递字符串参数

我执行它时有一个存储过程我遇到了错误

将varchar值'+ @ dptId +'转换为数据类型int时转换失败

我得到DepartmentId一个像字符串,(1,3,5,77)并将其传递给我的存储过程.

SQL FIDDLE

create table dummy (id int,name varchar(100),DateJoining Datetime, departmentIt int)

insert into dummy values (1,'John','2012-06-01 09:55:57.257',1);
insert into dummy  values(2,'Amit','2013-06-01 09:55:57.257',2);
insert into dummy  values(3,'Naval','2012-05-01 09:55:57.257',3);
insert into dummy  values(4,'Pamela','2012-06-01 09:55:57.257',4);
insert into dummy  values(5,'Andrea','2012-09-01 09:55:57.257',3);
insert into dummy  values(6,'Vicky','2012-04-01 09:55:57.257',4);
insert into dummy  values(7,'Billa','2012-02-01 09:55:57.257',4);
insert into dummy  values(8,'Reza','2012-04-01 09:55:57.257',3);
insert into dummy  values (9,'Jacob','2011-05-01 09:55:57.257',5);
Run Code Online (Sandbox Code Playgroud)

查询我尝试过:

declare @startdate1 varchar(100) ='20120201'
declare @enddate1 varchar(100)='20130601'
declare @dptId varchar(100)='3,4'

select …
Run Code Online (Sandbox Code Playgroud)

stored-procedures parameterized sql-server-2008-r2

13
推荐指数
1
解决办法
7万
查看次数