SQL 2000函数 - 无法返回varchar

时间:2015-06-30 22:10:35

标签: sql-server

我目前正在研究一些旧的SQL 2000.我需要一个返回字符串的函数。多数民众赞成。

    ALTER FUNCTION [dbo].[tmp] ( @CurrentCheck VARCHAR(80) = '10161681' )
    RETURNS VARCHAR(2000)
    AS
    BEGIN
        RETURN CAST('fred' AS VARCHAR(2000));
    END

这会显示一条错误消息:42000 - [SQL Server]将数据类型varchar转换为int。

时出错

不确定int的来源。奇怪的是,如果我把一个int代替'fred'就行了。但我需要的是返回一个VARCHAR。

    RETURN 'fred'

给出了同样的错误。

    RETURN 314

工作,遗憾的是这不是varchar而是int。 RETURNS VARCHAR系列出了什么问题?

此外,如果我加入

    Declare @logid varchar(50);
    RETURN  @logid

它有效,发回一个空行

    Declare @logid varchar(50);
    SET @logid = 'fred'
    RETURN  @logid

再次导致它失败并出现相同的int错误......

0 个答案:

没有答案