加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 将nvarchar值转换为数据类型int时,转换失败

发布时间:2020-12-12 16:36:15 所属栏目:MsSql教程 来源:网络整理
导读:我创建了以下程序: CREATE procedure getdata( @ID int,@frm varchar(250),@to varchar(250))ASBEGINDECLARE @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) Be
我创建了以下程序:
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,'','';**

但是我收到以下错误:

Conversion failed when converting the nvarchar value ‘select EmpName,
Address,Salary from Emp_Tb where 1=1 AND Emp_Id_Pk=’ to data type int

请帮忙.

解决方法

你试图连接一个字符串和一个整数.
您需要将 cast @ID作为字符串.
尝试:
SET @sql=@sql+' AND Emp_Id_Pk=' + CAST(@ID AS NVARCHAR(10))

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读