在SQL查询中使用大小写没有返回正确的结果

问题描述:

在我的sql查询中 - 一行如下所示返回给我一个varchar - 我需要使用case语句(我认为case是要走的路),以便当AC.Type_Name ='None'然后我需要将''存储为TypeName,而不是单词none。任何人都知道最简单的方法来做到这一点?谢谢。在SQL查询中使用大小写没有返回正确的结果

AC.Type_Name As TypeName, 

这是用于存储过程的一部分 - 它不存储到表中。它用于一个asp.net应用程序。我可以将结果保存到一个临时表,然后利用更新如下所说的redfilter,然后返回临时表,但我一直在寻找,你应该能够在“如果可能使用的

我假设上述代码引用指的是一个字段存储的选择子句中程序。如果是这样的话,你应该能够修改如下:

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

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

+0

这工作。谢谢。 – njj56 2012-02-22 16:11:32

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

感谢您的建议,但这是用于存储过程的一部分 - 它不存储到表中。它用于一个asp.net应用程序。我可以将结果存储到临时表中,执行此操作,然后返回临时表,但我正在寻找可能的最快方法。 – njj56 2012-02-22 15:58:05

+0

我认为这个回复只是由于原文缺乏背景。这个概念是现货。 SELECT CASE WHEN AC.Type_Name ='None'THEN''ELSE AC.TypeName END AS TypeName – 2012-02-22 15:59:32

+0

编辑的第一篇文章 – njj56 2012-02-22 16:00:39

的最快方法( )'功能。

SELECT IF(AC.Type_Name = '无', '',AC.TypeName)FROM ....