如何在MySQL Workbench中直接查看BLOB数据?

93

我正在使用MySQL Workbench CE 5.2.30 CE / Rev 6790。当执行下面的语句时:

SELECT OLD_PASSWORD("test")

我只看到一个漂亮的 BLOB 图标,我需要左键选中单元格,右键选择“在查看器中打开值”,然后选择“文本”选项卡。

使用phpMyAdmin也一样,我可以直接得到OLD_PASSWORD调用的值。这只是一个例子,但是否有办法直接在输出中看到这样的结果?


请确保您检查我的答案,它已经获得了41个赞 - 三年后我仍然有人给它点赞。 - spioter
@spioter 谢谢提醒,已完成!虽然我没有测试它,因为我目前没有使用它。 - mark
谢谢Mark!我不知道为什么我假定原始提问者甚至不会看到我的评论 - 我只是把它作为未来观众的指针 :-p 干杯。 - spioter
1
请注意,在MySQL Workbench中悬停在此选项上时会弹出警告:“警告:由于二进制字节字符串往往包含零字节,打开此选项可能会导致查看/编辑数据时发生数据截断。” - Accountant م
1
注意--如果您有任意二进制字节--如果BLOB是任意字节序列,例如用于存储128位GUID或md5校验和的BINARY(16),那么这里的答案并不特别有用。在这种情况下,目前没有编辑器首选项(尽管我现在已经提交了一个功能请求);在这种情况下,解决方案是查询中的HEX函数:SELECT HEX(mybinarycolumn) FROM mytable。(另一种选择是使用phpMyAdmin而不是MySQL Workbench-在那里,默认显示十六进制。) - ToolmakerSteve
12个回答

2

有一些事情你可以做


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)

如此博客所述。 http://www.kdecom.com/mysql-group-concat-blob-bug-solved/

1
当添加答案时,特别是几年后,请说明为什么要添加另一个答案。CSTobeymbunch已经表明blob字段可以被CAST .. AS CHAR。我认为您正在展示CAST的有用性,以使GROUP_CONCAT正常工作?不幸的是,链接已损坏。顺便说一下,您的第二个代码示例有问题... - ToolmakerSteve

1
你可以试试看
SELECT *, HEX(<BLOB_COLUMN>) as blob_vectors
FROM <BLOB_COLUMN> 
LIMIT 100; 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接