【发布时间】:2013-04-23 00:09:03
【问题描述】:
我想通过搜索 Blob 的十六进制字符串值来选择表行。我有一个 blob 值,我想找到它的十六进制表示为 0041b074351bfa1092fd740c146f26ae。我希望能够通过输入全部或部分字符串来选择这一行。这可能吗?
【问题讨论】:
-
可能会说些愚蠢的话,但您是否只是尝试了 SELECT FROM your_table WHERE blob LIKE '%value%' ?
-
是的。数据存储为原始字节,但我希望 MySQL 将这些字节转换为十六进制字符串,然后进行搜索,例如 LIKE %value%。如果输入“SELECT FROM your_table WHERE (transactionId LIKE %0041b074351bfa1092fd740c146f26ae%)”不起作用。
-
注意这种方法的性能问题。如果磁盘空间不是问题,我会创建一个额外的列来存储每个 blob 的十六进制表示,前提是读取查询的数量明显多于写入查询。
标签: mysql sql blob mysql-workbench