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

时间:2012-02-22 15:54:26

标签: sql

在我的sql查询中 - 下面的一行监听返回一个varchar - 我需要使用一个case语句(我认为情况就是这样)所以当AC.Type_Name ='None'然后我需要存储''作为TypeName,而不是单词none。有人知道最简单的方法吗?谢谢。

AC.Type_Name As TypeName,

这在存储过程的一部分中使用 - 它不存储在表中。它适用于asp.net应用程序。我可以将结果存储到临时表中,然后通过redfilter使用如下所述的更新,然后返回临时表但我正在寻找最快的方式

3 个答案:

答案 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 ....