调试并发现错误“Error conversion data type varchar to real”

saa*_*aai 7 sql sql-server asp.net stored-procedures

我被分配了一项任务来调试现有的 ASP.NET C# 系统。我发现这是由存储过程引起的,错误信息是

消息 8114,级别 16,状态 5
将数据类型 varchar 转换为 real 时出错。

没有行号或任何错误描述。任何形式的提醒都是值得赞赏的。我应该在哪里查看,如何调试以便找到确切的错误。请帮忙。

saa*_*aai 3

发现错误,分享我的答案希望有人面临同样的问题。这就是错误所在

CASE [Category].[ID]
    WHEN '1' THEN [Category].[Name]
    WHEN '2' THEN [Category].[Weight]
END
Run Code Online (Sandbox Code Playgroud)

[Category].[Name]是字符串并且[Category].[Weight]是真实的,在同一CASE个子句中尝试不同的数据类型,所以要解决这个问题,我要做的就是分割这个条件,就像这样

CASE [Category].[ID]
    WHEN '1' THEN [Category].[Name]
    END,
CASE [Category].[ID]
    WHEN '2' THEN [Category].[Weight]
END
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助