2013-04-10 73 views
1

在存儲過程中,我必須刪除某些情況下的連字符。例如,LanguageScore爲1並且說明非常好。在這種情況下,我希望答案1-Excellent.But在某些情況下,例如: LanguageScore是2並且沒有2的描述。那時候我想要像2這樣的答案。我該如何解決這個問題?如何刪除存儲過程中的連字符

CREATE PROCEDURE [dbo].[p_getLanguageScores] 
AS 

SELECT  
[LanguageScoreID], 
[LanguageScore] + ' - ' + [Description]AS [LanguageScore] 
FROM   
[M_LanguageScores] 
WHERE 
[Status] > 0 
ORDER BY 
[SortOrder] 

SET NOCOUNT ON 
+0

你絕對應該做這樣的表示邏輯客戶端 – Alex 2013-04-10 07:45:33

+0

的,我認爲,你需要它。 http://dev.mysql.com/doc/refman/5.0/en/case.html – Neo 2013-04-10 07:52:16

回答

0
SELECT  
    [LanguageScoreID], 
    (CASE 
      WHEN [LanguageScore]= '' 
       THEN [Description] 
      WHEN [Description]='' 
       THEN [LanguageScore] 
      ELSE [LanguageScore] + ' - ' + [Description] 
     END)AS [LanguageScore] 
FROM   
    [M_LanguageScores]