我有一个表有一个名为bindata的blob字段。 bindata总是包含7个字节。前四个是整数(我认为未签名,db不是我的。)
我的问题是如何只从bindata中选择前四个字节并将它们转换为数字?
我是mySQL的新手,但从文档中我看到我可能不得不通过这样的方式使用conv函数:
SELECT CONV(<Hex String of first 4 bytes of bindata>,16,10) as myNumber
但我不知道如何只选择blob字段的前四个字节。我真的被困在这里了。
由于
答案 0 :(得分:1)
您可以使用字符串函数来获取blob中的部分字节。例如:
SELECT id,
((ORD(SUBSTR(`data`, 1, 1)) << 24) +
(ORD(SUBSTR(`data`, 2, 1)) << 16) +
(ORD(SUBSTR(`data`, 3, 1)) << 8) +
ORD(SUBSTR(`data`, 4, 1))) AS num
FROM test;