3

我在 SQL 查询中有以下两行:

if( tb2.show_count = 0, 'hidden', count( tb1.user_id ) ) as 'count'
if( tb2.show_name = 0, 'hidden', tb1.name ) as 'name'

第一行给出了我blob,第二行返回name或者hidden基于值show_name

我如何对第一行做同样的事情?即阻止它给我 ablob并让它返回counthidden基于show_count?

4

2 回答 2

3

尝试:

if( tb2.show_count=0, 'hidden', cast(count(tb1.user_id) as char(10)) ) as 'count'

- 如果 if 的结果评估为不同的类型,它们将作为 BLOB 返回,因此答案是将计数转换为字符类型(与“隐藏”相同)。

于 2013-04-12T10:14:13.927 回答
1

在 MySQL Workbench 中,转到:“Edit -> Preferences... -> SQL Queries”或“Edit -> Preferences... -> SQL Editor”(取决于您拥有的 Workbench 版本)。

选中“将 BINARY/VARBINARY 视为非二进制字符串”选项以显示实际值。

于 2015-10-28T06:37:02.323 回答