Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 将blob字段中的字节数强制转换为数字_Mysql - Fatal编程技术网

Mysql 将blob字段中的字节数强制转换为数字

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 但

我有一个表,其中有一个名为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
但是我不知道如何只选择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))