3

SQL クエリに次の 2 行があります。

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

最初の行は私を与え、2 番目の行はの値に基づいてまたはをblob返しますnamehiddenshow_name

最初の行で同じことを行うにはどうすればよいですか? つまり、私に を与えるのを止めて、 の値に基づいてまたはblobを返すようにします。counthiddenshow_count

4

2 に答える 2

3

試す:

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

- if の結果が異なる型に評価される場合、それらは BLOB として返されるため、答えはカウントを文字型に変換することです ('hidden' と同じ)。

于 2013-04-12T10:14:13.927 に答える
1

MySQL Workbench で、「編集 -> 設定... -> SQL クエリ」または「編集 -> 設定... -> SQL エディタ」に移動します (使用している Workbench のバージョンによって異なります)。

実際の値を表示するには、[BINARY/VARBINARY を非バイナリ文字列として扱う] オプションをオンにします。

于 2015-10-28T06:37:02.323 に答える