繁体   English   中英

将nvarchar值'undefined'转换为数据类型int时转换失败

[英]Conversion failed when converting the nvarchar value ' undefined' to data type int

我从存储过程中收到“将nvarchar值'undefined'转换为数据类型int时转换失败”的信息。这是从WCF服务调用的。 下面是我的存储过程的示例格式。

ALTER Procedure [dbo].[sp_GetLang]
(
@UserID nchar(10),
@Return nchar(10)='' output
)AS BEGIN
SET NOCOUNT ON;
SELECT @Return = vc_LanguageName 
FROM [dbo].[vc_UserPrefrences] person INNER JOIN
[dbo].[vc_Languages] lang on person.vc_LanguagID = lang.vc_LanguageID
WHERE person.vc_UserID = @UserID
END

在这里,只有person.vc_UserID和vc_languageid是整数。

如果您知道,能否请您提出一些解决方案。

谢谢!

您应该将@UserID nchar(10)更改为@UserID INT

您可以通过以下方式将vc_UserID CAST vc_UserIDNCHAR

WHERE CAST(person.vc_UserID AS NCHAR(10)) = @UserID

或将变量@UserID数据类型更改为INT

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM