我目前正在研究一些旧的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错误......