从 MySQL 中的 int 列中选择时如何输出枚举/字符串
我使用视图来完成 MySQL 上数据的大部分报告。在其中一个表中,我想在选择数据时像 ENUM 一样处理特定列,但它目前是 int 。
我知道可以使用内部联接来完成此操作,但我会将其保留为最后的选择。
有没有办法构建视图或选择查询,以便我可以将 int 转换为枚举并输出字符串而不是 int?比如
SELECT CONVERT(int_column, ENUM('A', 'B', 'C')) FROM table;
我需要将该列存储为 int,将列更改为枚举将需要在应用程序级别进行太多更改,而这只需要一个特定的报告,所以应该没问题。枚举只有 11 个值。
如果无法进行强制转换,那么第三级运算符或内联运算符可以在选择中工作吗?
谢谢
I'm using view to do most of my reports for data on MySQL. In one of the table, I would like to treat a particular column like ENUM when selecting data, but it's currently int.
I knew it's possible to use inner join to accomplish this, but I'll keep that as my last option.
Is there a way to build the view or select query so that i can sort of cast int into enum and have string output instead of int? Something like
SELECT CONVERT(int_column, ENUM('A', 'B', 'C')) FROM table;
I need to store that column as int, changing the column to enum will require too many changes at the application level, and this is only needed for one particular report, so should be fine. The enum will have 11 values only.
If casting is not possible, then can tertiary operator or inline if works in select?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 ELT() 函数
http://dev.mysql .com/doc/refman/5.0/en/string-functions.html#function_elt
Use the ELT() Function
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_elt