2011-10-20 36 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

回答