2014-01-20 62 views
0

我需要通過SQL中的case語句傳遞varchar。當前數據是一個整數,但我想顯示文本。Case語句不會顯示varchar

CASE b.religious_belief 
WHEN 01 THEN 'none'  
WHEN 05 THEN 'roman catholic'  
ELSE 0 
END 

我不斷收到錯誤轉換爲varchar值 '無' 到的數據類型爲int時

轉換失敗。

+0

你可以發佈你的整個SQL語句嗎? – Prashant16

回答

1

從CASE子句的所有返回的值應該是字符串(varchar

CASE b.religious_belief 
    WHEN 01 THEN 'none'  
    WHEN 05 THEN 'roman catholic'  
    ELSE 'Jedi' 
END as MyColumnName 
+0

愛那個回答:) –

+0

你能說出顯示數據的那一欄嗎?@ mitch wheat –

+0

其他答案意外,我不是那麼差哈哈 –

1
CASE b.religious_belief 
    WHEN 01 THEN 'none'  
    WHEN 05 THEN 'roman catholic'  
    ELSE '' 
END 

else回報也需要一個VARCHAR,因此,如果你是一個「零後「的價值,那麼''null將是最好的。