繁体   English   中英

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

[英]using case in a sql query is not returning the correct results

在我的SQL查询中-在下面的侦听一行返回给我一个varchar-我需要使用一个case语句(我认为使用case的方式),以便当AC.Type_Name ='None'时我需要将''存储为TypeName,而不是单词none。 有人知道最简单的方法吗? 谢谢。

AC.Type_Name As TypeName,

它在存储过程的一部分中使用-不会存储到表中。 它与asp.net应用程序一起使用。 我可以将结果存储到临时表中,然后使用redfilter如下所述进行更新,然后返回临时表,但是我在寻找最快的方法

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

我假设您上面的代码参考引用了存储过程的select子句中的一个字段。 如果是这种情况,您应该可以按如下所示进行修改:

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

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

您应该可以使用'if()'函数。

选择IF(AC.Type_Name ='None',``,AC.TypeName)FROM ....

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM