MySQL Workbenchがクエリ結果をBLOB
として表示することを発見し続けています。例:SELECT INET_NTOA(167773449)
-> BLOB
「値の表示」を選択した場合、テキスト値は「10.0.5.9」であると判断できますが、複数の行を選択して内容を確認したい場合はかなりイライラします。
これを回避する方法はありますか、それともツールの制限ですか?
Background:この問題は、バイナリ文字列値(BINARY/VARBINARYタイプ)が結果に返されるときに発生します。バイナリ文字列にはゼロバイトが含まれており、何らかの理由で、明らかにセキュリティがデフォルトで表示されていません。バイナリ文字列の詳細 here 。
報告された例SELECT INET_NTOA(167773449)
でも、関数はバイナリ文字列を返します。 this を参照してください。
解決策:MySQL Workbench v5.2.22以降、このような値を表示または非表示にするかどうかを設定で設定できます。
参考:元の問題が報告され、修正 here で回答されました。
できることは、BLOB型を文字列にキャストすることです。これにより、selectステートメントを参照するときに、BLOB型の内容を簡単に確認できます。
SELECT CAST('blob_column' AS CHAR(10000) CHARACTER SET utf8) FROM 'DB_table';