我正在尝试从以单精度 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 UNHEX(FirstColumn)
FROM MyTable;
## NULL-result
SELECT CONV(FirstColumn, 10,16)
FROM MyTable;
## 0 as result
Run Code Online (Sandbox Code Playgroud)
希望有人有类似的经历吗?