我有一个很长的二进制文件写入MySQL长期BLOB。 当我通过我的PHP应用程序从DB读回BLOB时,我想将前12个字节仅作为十六进制。 我使用bin2hex(BLOB)成功地将BLOB转换为十六进制,但不知道如何忽略前12个字节的数据。
答案 0 :(得分:4)
你在寻找这个吗?
SELECT HEX(LEFT(data, 12)) partial
FROM table1
这是 SQLFiddle 演示
BLOB值被视为二进制字符串(字节字符串)。
因此,您可以使用LEFT()
获取前12个字节,然后使用HEX()
转换它们
我相信Codeigniter你可以做这样的事情
$result = $this->db
->select('HEX(LEFT(data, 12)) AS partial', FALSE)
->from('table1')
->get();