81

MySQL Workbench CE 5.2.30 CE / Rev 6790 を使用しています。次のステートメントを実行すると:

SELECT OLD_PASSWORD("test")

左クリックしてセルを選択し、右クリックして[ビューアで値を開くBLOB]を選択し、[テキスト]タブを選択する必要があります。

phpMyAdmin で同じことを使用して、OLD_PASSWORD呼び出しの値を直接取得します。あくまで一例ですが、そのような結果を出力で直接見る方法はありますか?

4

12 に答える 12

119

要するに:

  1. [編集] > [設定]に移動します
  2. SQL エディタを選択
  3. SQL Executionの下で、 Treat BINARY/VARBINARY as nonbinary character string をチェックします。
  4. MySQL Workbench を再起動します (この要件についてのプロンプトや通知は表示されません)。

MySQL Workbench 6.0 以降

  1. [編集] > [設定]に移動します
  2. SQL クエリの選択
  3. Query Resultsの下で、 Treat BINARY/VARBINARY as nonbinary character string をチェックします。
  4. MySQL Workbench の再起動は必須ではありません (この要件についてのプロンプトや通知はありません)。*

この設定を使用すると、ブロブを取得せずにフィールドを連結できます。

これはバージョン 5.2.22 以降に適用され、この MySQL バグの結果であると思います。

免責事項: この設定のマイナス面が何かわかりません - BINARY/VARBINARY値を選択しているときに、誤解を招く可能性のあるプレーンテキストとして表示されたり、十分に大きい場合にパフォーマンスが低下したりする可能性がありますか?

于 2011-09-06T16:38:19.067 に答える
32

これが質問に答えるかどうかはわかりませんが、フィールドの「ブロブ」アイコンを右クリックすると(テーブルを表示しているときに)、「エディターで値を開く」オプションがあります。タブの 1 つで、ブロブを表示できます。これはver. 5.2.34

于 2011-08-01T19:13:57.287 に答える
30

次の 3 つの手順を実行します。

  1. 「WorkBench 設定」に移動します --> 「クエリ結果」の下の「SQL エディタ」を選択します。「BINARY/VARBINARY を非バイナリ文字列として扱う」をチェックします。

  2. MySQL ワークベンチを再起動します。

  3. 今すぐ選択SELECT SUBSTRING(<BLOB_COLUMN_NAME>,1,2500) FROM <Table_name>;

于 2012-11-02T17:45:11.680 に答える
14

キャストは機能しますが、面倒なので、真にブロブデータを大量に使用していない限り、spioter の方法を使用することをお勧めします。

SELECT CAST(OLD_PASSWORD("test") AS CHAR)

他の型としてキャストしたり、サイズを制限したりすることもできますが、ほとんどの場合、CHAR を使用します: http://dev.mysql.com/doc/refman/5.5/en/cast-functions.html#function_cast

于 2012-05-21T16:27:12.637 に答える
6

残念ながら、ワークベンチのバグとしてリストされている可能性はないようです: http://bugs.mysql.com/bug.php?id=50692 ただし、非常に便利です!

于 2010-12-23T09:20:28.683 に答える
5

MySQLのドキュメントによると、同じ問題がありました。BLOBのサブストリングを選択できます。

SELECT id, SUBSTRING(comment,1,2000) FROM t

HTH、グリッシー

于 2011-05-18T13:55:58.197 に答える
4

ワークベンチ 6.3
高得点の回答に従ってから使用するUNCOMPRESS()

(要するに:
1. [編集] > [設定] に移動し
ます。 2. [SQL エディター] を選択します
。 3. [SQL 実行] で、[BINARY/VARBINARY を非バイナリ文字列として扱う] をオン
にします。

それで

SELECT SUBSTRING(UNCOMPRESS(<COLUMN_NAME>),1,2500) FROM <Table_name>;

また

SELECT CAST(UNCOMPRESS(<COLUMN_NAME>) AS CHAR) FROM <Table_name>;

配置しただけの場合はUNCOMPRESS(<COLUMN_NAME>)、blob を右クリックし、[エディターで値を開く] をクリックします。

于 2016-10-06T14:48:58.727 に答える