从 MySQL 中的 int 列中选择时如何输出枚举/字符串

发布于 2024-10-05 14:13:41 字数 391 浏览 2 评论 0原文

我使用视图来完成 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄意 2024-10-12 14:13:41

使用 ELT() 函数

   SELECT ELT(int_column, 'A', 'B', 'C') FROM table;

http://dev.mysql .com/doc/refman/5.0/en/string-functions.html#function_elt

Use the ELT() Function

   SELECT ELT(int_column, 'A', 'B', 'C') FROM table;

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_elt

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文