小编Bar*_*t V的帖子

如何从 MySQL 中的 BLOB 列中提取十六进制值

我正在尝试从以单精度 32 位十六进制编写的BLOB 列中提取浮点值。为了更详细地说明,我在下面构建了类似于我正在使用的 Mysql-db 的示例:即,一个包含值 '42f00000' 的 BLOB 列的表。目标是拥有一个从中提取值“120”的函数。

示例数据集将是:

CREATE TABLE MyTable (FirstColumn BLOB);

INSERT INTO MyTable (FirstColumn) VALUES (0x42f00000); #Representing value 120 in single-precision 32bit Hex

SELECT *
FROM MyTable;
Run Code Online (Sandbox Code Playgroud)

后者 'SELECT *' 的输出是这样的: 在此处输入图片说明

我很难编写一个可以为整个列执行此操作的函数。我尝试了我在互联网上找到的但没有成功:即,

SELECT UNHEX(FirstColumn)
FROM MyTable;
## NULL-result

SELECT CONV(FirstColumn, 10,16)
FROM MyTable;
## 0 as result
Run Code Online (Sandbox Code Playgroud)

希望有人有类似的经历吗?

mysql hex blob extract

1
推荐指数
1
解决办法
8314
查看次数

标签 统计

blob ×1

extract ×1

hex ×1

mysql ×1