以下返回BLOB,如何将此else值转换为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))
在案例切换中工作正常。
叹息......为什么我打扰发布所有我需要的是橡皮鸭与...交谈...
答案 0 :(得分:5)
使用cast
SELECT
CAST(CASE EnumID
WHEN 1 THEN 'Red'
WHEN 2 THEN 'Green'
WHEN 3 THEN 'Blue'
ELSE EnumID
END AS VARCHAR(20)) AS EnumValue
FROM `Table`
请参阅:http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html