【问题标题】:get partial data from BLOB as hex从 BLOB 获取部分数据为十六进制
【发布时间】:2014-01-29 21:16:41
【问题描述】:

我有一个长二进制写入 MySQL 作为长 BLOB。 当我通过我的 PHP 应用程序从数据库中读取 BLOB 时,我只想将前 12 个字节作为十六进制。 我使用 bin2hex(BLOB) 成功地将 BLOB 转换为十六进制,但不知道如何忽略前 12 个字节的数据。

【问题讨论】:

    标签: php mysql blob


    【解决方案1】:

    你在找这个吗?

    SELECT HEX(LEFT(data, 12)) partial
      FROM table1
    

    这里是SQLFiddle演示

    The BLOB and TEXT Types

    BLOB 值被视为二进制字符串(字节字符串)。

    因此,您可以使用 LEFT() 获取前 12 个字节,然后使用 HEX() 进行转换


    我相信 Codeigniter 你可以做这样的事情

    $result = $this->db
                   ->select('HEX(LEFT(data, 12)) AS partial', FALSE)
                   ->from('table1')
                   ->get();
    

    【讨论】:

    • 我正在使用 CodeIgniter 进行选择。我会看看如何在那里做到这一点
    猜你喜欢
    • 2014-02-18
    • 1970-01-01
    • 2016-07-29
    • 2015-08-01
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 2019-04-13
    • 2013-12-02
    相关资源
    最近更新 更多