将 nvarchar 值“undefined”转换为数据类型 int 时转换失败
本文关键字:转换 数据类型 失败 int nvarchar undefined | 更新日期: 2023-09-27 17:55:44
我从我的存储过程中得到"将 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
。
您可以CAST
vc_UserID
以下内容NCHAR
:
WHERE CAST(person.vc_UserID AS NCHAR(10)) = @UserID
或者将变量@UserID
的数据类型更改为INT