【发布时间】:2021-08-04 11:30:18
【问题描述】:
我尝试使用 Octave 6.2.0 和 mex-sqlite3-master 包从数据库文件中读取 BLOB 数据。
我可以从我的数据库文件中选择和读取任何其他数据。对于包含 BLOB 数据的列,它给了我以下信息:
octave> x=sqlite3('file.db', 'SELECT column FROM list'); 错误:sqlite3:不支持的列类型
octave> x=sqlite3('file.db', 'SELECT column FROM list WHERE column=CAST(column AS TEXT)'); 没有错误,但是 x 的尺寸为 1x0。
BLOB 数据包含十六进制数字。我很高兴将它们作为字符串(并进一步工作,没有问题)。
如何以可处理的格式提取 BLOB 数据?
感谢任何提示!
【问题讨论】:
-
select CAST(column AS TEXT) from bl;是该查询的正确形式。WHERE子句仅用于过滤结果。 -
如果您想确定不是“包”问题,您可以随时尝试直接使用系统
sqlite3,例如stackoverflow.com/a/59986894/4183191