2012-02-22 83 views
0

在我的sql查詢中 - 一行如下所示返回給我一個varchar - 我需要使用case語句(我認爲case是要走的路),以便當AC.Type_Name ='None'然後我需要將''存儲爲TypeName,而不是單詞none。任何人都知道最簡單的方法來做到這一點?謝謝。在SQL查詢中使用大小寫沒有返回正確的結果

AC.Type_Name As TypeName, 

這是用於存儲過程的一部分 - 它不存儲到表中。它用於一個asp.net應用程序。我可以將結果保存到一個臨時表,然後利用更新如下所說的redfilter,然後返回臨時表,但我一直在尋找,你應該能夠在「如果可能使用的

回答

1

我假設上述代碼引用指的是一個字段存儲的選擇子句中程序。如果是這樣的話,你應該能夠修改如下:

(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

1
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

0

的最快方法( )'功能。

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