我想创建一个存储过程,该过程通过传递参数来返回值。
当我执行此存储过程时,会发生此错误:
将varchar值“ AND GenderId =”转换为数据类型int时转换失败。
我的代码:
create proc sp_getPatientRegistration (@genderId int) AS
declare @condition varchar(500);
begin
If @genderId!=0
SET @condition='AND GenderId='+@genderId
SELECT PtRegNo,Name,MobileNo,GenderId FROm tbl_PATIENT_REGISTRATION WHERE 1=1 +@condition
end
预期结果显示在此屏幕截图中:
答案 0 :(得分:0)
@genderId是整数,在连接前必须将其转换为varchar。 如果您使用的是sql,则可以使用:
CAST(@genderId as Nvarchar(50))