如何利用MySQL查询varbinary中存储的数据?这里记录下例子
SELECT ORD(SUBSTRING(`binary_column`, 1, 1)) AS converted_value FROM `TableName`;
上述语句中,SUBSTRING(binary_column, 1, 1)
会提取字段中的第一个字节。然后,ORD()
函数会将该字节转换为对应的 ASCII 值,因为 unpack()
函数返回的是一个字节流。
这样,你将得到一个名为 converted_value
的列,其中存储了通过 MySQL 查询得到的值为 1 的整数。
请注意,这种方法假设字段中的值是按照字节顺序存储的。如果存储方式不同,可能需要相应地调整提取和转换的逻辑。
用 php的 unpack
函数解析的形式,比如上面的例子,要解出一个整型(int32)可以这样表示,unpack('Iintval', $bindata)