我创建了下面列出的过程:
CREATE procedure getdata
(
@ID int,
@frm varchar(250),
@to varchar(250)
)
AS
BEGIN
DECLARE @SQL nvarchar(500)
set @SQL = 'select'
set @SQL = @SQL + ' EmpName, Address, Salary from Emp_Tb where 1=1 '
IF (@ID <> '' and @ID is not null)
Begin
SET @sql=@sql+' AND Emp_Id_Pk=' +@ID
End
END
print @sql
--execute (@sql)
我尝试使用以下命令来执行它:
**execute getdata 3,'','';**
但是我得到了以下错误:
将nvarchar值'select EmpName,Address,failed Emp_Tb where 1=1 AND Emp_Id_Pk=‘转换为数据类型int时,nvarchar值转换失败
请帮帮忙。
发布于 2014-02-09 12:10:23
发布于 2017-06-20 22:37:40
尝试使用
CONVERT(nvarchar(10),@ID)
这与cast相似,但成本更低(就时间消耗而言)
发布于 2018-05-12 14:09:34
我在我的一个专栏中使用了一个关键字,我用brackets []
解决了这个问题
https://stackoverflow.com/questions/21655110
复制相似问题