将varchar值转换为数据类型int时转换失败。 [英] Conversion failed when converting the varchar value to data type int.

查看:200
本文介绍了将varchar值转换为数据类型int时转换失败。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

when i execute my store procedure:

PROCEDURE [dbo].[GetEmailAdd_Sp]
    @emplid int
    AS
BEGIN
    Declare @emplEmail varchar(50)

    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    Set @emplEmail = (Select emailAdd from HrEmployee where EmplID = @emplid)
    return @emplEmail

END



然后在执行时抛出错误:


then it throws error when i execute:

Conversion failed when converting the varchar value '[SomeEmailID]' to data type int.
Exec




Exec GetEmailAdd_Sp 5

推荐答案

RETURN只允许你返回一个整数值:你不能返回一个字符串。

您需要使用SELECT,或创建OUTPUT参数。
RETURN only allows you to return an integer value: you cannot return a string.
You need to use SELECT, or create an OUTPUT parameter.


您必须将参数类型更改为 int

You have to change the type of your parameter into int:
Declare @emplEmail int


只需运行它



just run it

PROCEDURE [dbo].[GetEmailAdd_Sp]
    @emplid int
    AS
BEGIN
    Declare @emplEmail varchar(50)

    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    Set @emplEmail = (Select emailAdd from HrEmployee where EmplID = @emplid)
    return @emplEmail

END







Exec GetEmailAdd_Sp @ emplid = 5




Exec GetEmailAdd_Sp @emplid= 5


这篇关于将varchar值转换为数据类型int时转换失败。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆