Mysql 将blob字段中的字节数强制转换为数字
我有一个表,其中有一个名为bindata的blob字段。bindata始终包含7个字节。前四个是整数(我想是无符号的,db不是我的) 我的问题是如何从bindata中只选择前四个字节并将其转换为数字 我是mySQL新手,但从文档中可以看出,我可能需要通过执行以下操作来使用conv函数:Mysql 将blob字段中的字节数强制转换为数字,mysql,Mysql,我有一个表,其中有一个名为bindata的blob字段。bindata始终包含7个字节。前四个是整数(我想是无符号的,db不是我的) 我的问题是如何从bindata中只选择前四个字节并将其转换为数字 我是mySQL新手,但从文档中可以看出,我可能需要通过执行以下操作来使用conv函数: SELECT CONV(<Hex String of first 4 bytes of bindata>,16,10) as myNumber 选择CONV(,16,10)作为myNumber 但
SELECT CONV(<Hex String of first 4 bytes of bindata>,16,10) as myNumber
选择CONV(,16,10)作为myNumber
但是我不知道如何只选择blob字段的前四个字节。我真的被困在这里了
谢谢,您可以使用string函数获取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;
选择id,
((ORD(SUBSTR(`data`,1,1))