2011-10-20 89 views
2

下面返回一個BLOB,我該如何將這個else值轉換爲VARCHAR來解決我的問題?MySQL CASE EnumInt當Varchar ELSE Int返回爲BLOB - 如何將其轉換爲Varchar?

SELECT 
    CASE EnumID 
     WHEN 1 THEN 'Red' 
     WHEN 2 THEN 'Green' 
     WHEN 3 THEN 'Blue' 
     ELSE EnumID 
    END AS EnumValue 
FROM Table 

在MSSQL/TSQL我使用ELSE CAST([EnumID] AS VARCHAR(100))但MySQL抱怨。

我想要的只是一個故障轉移,如果此存儲過程不知道一個新的枚舉值來管理代碼主數據庫與數據倉庫數據持久性。

註定是一個明顯的答案...


顯然,這個問題好像是用VARCHAR?剛剛發現CAST(EnumID AS CHAR(20))在case switch中工作正常。

唉...爲什麼我懶得張貼所有我需要的是一個橡膠鴨交談...

+0

它有括號代碼中的[EnumID]? – Nathan

+0

不,但很好的發現:) – KCD

+0

發佈問題的答案作爲答案。然後檢查它作爲答案。它有助於代表。 – Nathan

回答