MySQL Workbench CE 5.2.30 CE/Rev 6790を使用しています。次のステートメントを実行する場合:
SELECT OLD_PASSWORD("test")
Nice BLOB
アイコンのみが返されます。左クリックしてセルを選択し、右クリックして[ビューアーで値を開く]を選択し、[テキスト]タブを選択する必要があります。
同じことをphpMyAdminで使用すると、OLD_PASSWORD
呼び出しの値を直接取得できます。これは単なる例ですが、そのような結果を出力で直接確認する方法はありますか?
要するに:
MySQL Workbench 6.0 +
この設定を使用すると、BLOBを取得せずにフィールドを連結できます。
これはバージョン5.2.22以降に適用され、 このMySQLバグ の結果だと思います。
免責事項:この設定のマイナス面がわからない-多分BINARY
/VARBINARY
値を選択すると、誤解を招く可能性のあるプレーンテキストとして表示されます。十分に大きい場合、パフォーマンスが低下しますか?
3つの手順を実行します。
「WorkBenchの設定」に移動->「クエリ結果」の下の「SQLエディター」を選択:「BINARY/VARBINARYを非バイナリ文字列として扱う」にチェックを付けます
MySQL WorkBenchを再起動します。
SELECT SUBSTRING(BLOB<COLUMN_NAME>,1,2500) FROM <Table_name>;
を選択します
これが質問に答えるかどうかはわかりませんが、フィールドの「blob」アイコンを右クリックすると(テーブルを表示しているとき)、「Open Value in Editor」オプションがあります。タブの1つを使用すると、ブロブを表示できます。これはバージョンです。 5.2.34
キャストは動作しますが、それは苦痛なので、大量の真のBLOBデータを使用している場合を除き、スピオターの方法を使用することをお勧めします。
SELECT CAST(OLD_PASSWORD("test") AS CHAR)
他の型としてキャストしたり、サイズを制限したりすることもできますが、ほとんどの場合、CHARを使用します。 http://dev.mysql.com/doc/refman/5.5/en/cast-functions。 html#function_cast
私は恐れている、それはワークベンチのバグとしてリストされている可能性はないようです: http://bugs.mysql.com/bug.php?id=50692 それは非常に便利ですが!
MySQLドキュメント によると、同じ問題がありました。BLOBのサブストリングを選択できます。
SELECT id, SUBSTRING(comment,1,2000) FROM t
HTH、グリッシ
作業台6.3
高得点の回答に従い、UNCOMPRESS()
を使用します
(要するに:
1。 [編集]> [設定]に移動します
2。 SQLエディターを選択
3。 [SQL Execution]で、[BINARY/VARBINARYを非バイナリ文字列として扱う]をオンにします
4。 MySQL Workbenchを再起動します(この要件についてはプロンプトも通知もされません)。
それから
_SELECT SUBSTRING(UNCOMPRESS(<COLUMN_NAME>),1,2500) FROM <Table_name>;
_
または
_SELECT CAST(UNCOMPRESS(<COLUMN_NAME>) AS CHAR) FROM <Table_name>;
_
UNCOMPRESS(<COLUMN_NAME>)
とだけ入力した場合は、blobを右クリックして[エディターで値を開く]をクリックします。
ワークベンチの「プリファレンス」の修正がうまくいかなかったため、他の投稿をいくつかまとめました。 (WB 6.3)
SELECT CAST(`column` AS CHAR(10000) CHARACTER SET utf8) FROM `table`;
できることはほとんどありません
SELECT GROUP_CONCAT(CAST(name AS CHAR))
FROM product
WHERE id IN (12345,12346,12347)
クエリで並べ替える場合は、以下のようにキャストで並べ替えることができます
SELECT GROUP_CONCAT(name ORDER BY name))
FROM product
WHERE id IN (12345,12346,12347)
このブログで言うように
注:ここでの以前の回答は、BLOBが任意のバイトシーケンスである場合には特に役立ちません。例えば128ビットGUIDまたはmd5チェックサムを格納するBINARY(16)。
その場合、エディタの設定は現在ありません-私は 今すぐ機能リクエストを送信しました があります-より詳細な説明についてはそのリクエストをご覧ください。
[その機能要求が実装されるまで/されない限り]解決策は、クエリのHEX
関数SELECT HEX(mybinarycolumn) FROM mytable
です。
別の方法は、MySQL Workbenchの代わりにphpMyAdminを使用することです。デフォルトでは16進数が表示されます。
select CONVERT((column_name) USING utf8) FROM table;
私の場合、Workbenchは機能しません。そのため、上記のソリューションを使用して、blobデータをテキストとして表示しました。