我有一个长二进制文件写入MySQL作为长BLOB。当我通过PHP应用程序从DB读取BLOB时,我只想把头12个字节作为十六进制。我通过使用bin2hex( BLOB )成功地将BLOB转换成十六进制,但不知道如何忽略前12个字节的数据。
发布于 2014-01-29 21:24:37
你在找这个吗?
SELECT HEX(LEFT(data, 12)) partial FROM table1
这是SQLFiddle演示
BLOB和文本类型
BLOB值被视为二进制字符串(字节字符串)。
因此,您可以使用LEFT()获取前12个字节,然后用HEX()转换它们。
LEFT()
HEX()
我相信Codeigniter你可以这样做
$result = $this->db ->select('HEX(LEFT(data, 12)) AS partial', FALSE) ->from('table1') ->get();
https://stackoverflow.com/questions/21442823
相似问题