作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
以下返回一个 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))
在大小写切换中工作正常。
唉...我为什么要费心发布我需要的只是一只可以与之交谈的橡皮鸭...
最佳答案
使用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
关于MySQL CASE EnumInt WHEN Varchar ELSE Int 返回为 BLOB - 如何转换为 Varchar?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7830506/
我是一名优秀的程序员,十分优秀!