首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何查询blob数据

问如何查询blob数据
EN

Stack Overflow用户
提问于 2010-08-23 18:09:15
回答 3查看 21K关注 0票数 3

我有一张桌子,像这样:

代码语言:javascript
复制
------------------------------
Test_Id           Test_data
(String)          (blob)
------------------------------

我想要一个查询来检索匹配Test_data的所有Test_Id。

实现如下操作: select * from test_table where Test_data = blobObject;

我们如何才能做到这一点??

EN

回答 3

Stack Overflow用户

发布于 2010-08-24 02:16:00

首先:在MySQL中没有字符串这样的东西。仅char/varchar/text。

代码语言:javascript
复制
select * from test_table where Test_data = CAST( blobObject AS CHAR );

更好的方法可能是将字符串转换为二进制字符串,但如果您期望字符串比较行为,这可能无法给出正确的比较。

http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html

票数 7
EN

Stack Overflow用户

发布于 2016-06-22 00:06:26

您可以使用散列函数,如MD5

代码语言:javascript
复制
SELECT * FROM example_table WHERE MD5(blob_column) = 'a6a7c0ce5a93f77cf3be0980da5f7da3';
票数 2
EN

Stack Overflow用户

发布于 2013-11-12 08:34:52

MySQL具有可以存储二进制数据的数据类型。不仅是char/varchar/text,还有BINARY/VARBINARY/BLOB。

请参阅http://dev.mysql.com/doc/refman/5.5/en/blob.html

它的用法和普通的字符串类型一样简单。但是,转义是必需的。并且必须指定查询长度,因为二进制数据的内容中可能包含空字符。

在MySQL 3.23 (我猜)之前,只有mysql_query()和mysql_escape_string()。这些函数没有指定查询长度的功能。在MySQL中引入BLOB之后,支持mysql_real_query()和mysql_real_escape_string()。

我给你找了一些例子。愿此链接对您有所帮助!

http://zetcode.com/db/mysqlc/ http://bytes.com/topic/c/answers/558973-c-client-load-binary-data-mysql

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3546552

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档