我有一个sqlite数据库,我想从中提取数据类型为blob的信息列。我正在尝试:SELECT cast(data as TEXT) FROM content
这显然不起作用。输出是这样的乱码文本:x��Uak�0�>�8�0Ff;I�.��.i%�A��s�M
内容列中的数据大部分是文本,但也可能有图像(如果我将其转换为文本,则识别出来的图像可能会导致问题)。我只想把数据提取成一种可用的格式。有什么想法吗?
最佳答案
你可以用
SELECT hex(data) FROM content
或
SELECT quote(data) FROM content
第一个将返回一个十六进制字符串(
ABCD
),第二个引用为SQL文本(X'ABCD'
)。注意,(目前)无法将十六进制列信息转换回sqlite中的blob。您必须使用c/perl/python/…绑定来转换和导入这些绑定。
关于sqlite - Sqlite:如何为BLOB强制转换(数据为TEXT),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14435072/