在我的sql查询中 - 下面的一行监听返回一个varchar - 我需要使用一个case语句(我认为情况就是这样)所以当AC.Type_Name ='None'然后我需要存储''作为TypeName,而不是单词none。有人知道最简单的方法吗?谢谢。
AC.Type_Name As TypeName,
这在存储过程的一部分中使用 - 它不存储在表中。它适用于asp.net应用程序。我可以将结果存储到临时表中,然后通过redfilter使用如下所述的更新,然后返回临时表但我正在寻找最快的方式
答案 0 :(得分:1)
update MyTable
set Type_Name = case when @input = 'None' then '' else @input end
where ...
答案 1 :(得分:1)
我假设您的代码引用是指存储过程的select子句中的字段。如果是这种情况,您应该能够按如下方式修改它:
(case when AC.Type_Name = 'None' then '' else AC.Type_Name end) as TypeName
此语句将返回一个名为TypeName的列,该列将包含AC.Type_Name的值,除非AC.Type_Name的值为“None”,在这种情况下,它将返回为空字符串。
答案 2 :(得分:0)
你应该可以使用'if()'函数。
SELECT IF(AC.Type_Name ='None','',AC.TypeName)FROM ....