sql查询中的用例未返回正确的结果

sql查询中的用例未返回正确的结果,sql,Sql,在我的sql查询中-下面的一行listen返回一个varchar-我需要使用case语句(我认为case是最好的方法),这样当AC.Type_Name='None'时,我需要将“”存储为TypeName,而不是单词None。有人知道最简单的方法吗?多谢各位 AC.Type_Name As TypeName, 这是在存储过程的一部分中使用的-它不存储到表中。它用于asp.net应用程序。我可以将结果存储到一个临时表中,然后使用redfilter下面所说的更新,然后返回临时表,但我正在寻找可能的最

在我的sql查询中-下面的一行listen返回一个varchar-我需要使用case语句(我认为case是最好的方法),这样当AC.Type_Name='None'时,我需要将“”存储为TypeName,而不是单词None。有人知道最简单的方法吗?多谢各位

AC.Type_Name As TypeName,

这是在存储过程的一部分中使用的-它不存储到表中。它用于asp.net应用程序。我可以将结果存储到一个临时表中,然后使用redfilter下面所说的更新,然后返回临时表,但我正在寻找可能的最快方法,您应该能够使用“if()”函数

update MyTable
set Type_Name = case when @input = 'None' then '' else @input end
where ...

从..

中选择IF(AC.Type_Name='None','',AC.TypeName)我假设上面的代码引用引用了存储过程的SELECT子句中的一个字段。如果是这种情况,您应该能够按如下方式对其进行修改:

(case when AC.Type_Name = 'None' then '' else AC.Type_Name end) as TypeName

此语句将返回一个名为TypeName的列,该列将包含AC.Type\u Name的值,除非AC.Type\u Name的值为“None”,在这种情况下,它将以空字符串的形式返回该列。

感谢您的建议,但这是存储过程的一部分-它不会存储到表中。它用于asp.net应用程序。我可以将结果存储到一个临时表中,这样做,然后返回临时表,但我正在寻找可能的最快方法。我认为这个回复只是因为原始帖子中缺少上下文。这一概念恰到好处。当AC.Type_Name='None'时选择CASE,然后选择“”否则AC.TypeName结束为TypeName@njj56您的问题是我需要将“”存储为TypeName,这意味着
插入
更新
,而不是
选择