मैं एक संग्रहीत प्रक्रिया है मैं जब निष्पादित यह मैं त्रुटिकैसे संग्रहीत प्रक्रिया SQL सर्वर में `IN` ऑपरेटर के साथ स्ट्रिंग पैरामीटर पारित 2008
रूपांतरण विफल जब varchar मूल्य '+ @ dptId +' को बदलने मिला डेटा प्रकार int
मुझे (1,3,5,77)
जैसी स्ट्रिंग के रूप में मिल रहा है और मैं इसे संग्रहीत प्रक्रिया में पास कर रहा हूं।
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);
क्वेरी मैंने कोशिश की:
declare @startdate1 varchar(100) ='20120201'
declare @enddate1 varchar(100)='20130601'
declare @dptId varchar(100)='3,4'
select *
from dummy
where DateJoining >= @startdate1 and DateJoining < @enddate1
and departmentIt IN (@dptId);
'IN' उस तरह काम नहीं करता। 'विभागIt = @ dptId1 या विभाग के बारे में = @ dptId2;'? –
इससे पहले मैं सरल क्वेरी स्ट्रिंग का उपयोग कर रहा था जैसे 'विभाग में (1,3)' और इसके काम, अब जब मैं पैरामीटरयुक्त क्वेरी का उपयोग कर रहा हूं तो त्रुटि हो रही है। –
'विभाग में (1,3)' काम करता है लेकिन 'विभाग में ('1,3')' नहीं, क्योंकि यह केवल ** 1 ** मान है - एक स्ट्रिंग और 2 संख्या नहीं। –