如何从函数返回varchar值 [英] How to return varchar value from a function

查看:158
本文介绍了如何从函数返回varchar值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我编写了以下函数.

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create FUNCTION NameFunction
(
    @eid int
)
RETURNS varchar
AS
BEGIN
    Declare @logid varchar(50);
    SELECT @logid = E.LoginId from HumanResources.Employee As E
    where E.BusinessEntityID = @eid

    RETURN  @logid

END
GO

当我执行它时,结果显示为a. 但是预期结果是adventure-works\terri0 我在这里做错的地方.只有第一个字符到来.需要更改任何东西吗?

When I am executing it is showing result as a. But expected result is adventure-works\terri0 Where I did the mistake here. Only first character coming. Need to change any thing?

推荐答案

更改您的RETURN类型以包括长度,此时它仅返回1个字符:

Change your RETURN type to include a length, at this point it is just returning 1 character:

RETURNS varchar(100)

完整代码:

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
Create FUNCTION NameFunction
(
    @eid int
)
RETURNS varchar(100) -- or whatever length you need
AS
BEGIN
    Declare @logid varchar(50);
    SELECT @logid = E.LoginId from HumanResources.Employee As E
    where E.BusinessEntityID = @eid

    RETURN  @logid

END
GO

这篇关于如何从函数返回varchar值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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