十六进制文本字符串和定位特定信息

时间:2012-08-24 01:20:01

标签: mysql sql hex

首先,我在MySQL数据库中工作。我有一个表,其中列的值存储为非常长的十六进制文本(将内容置于上下文中,它包含有关人员计算机规范的信息 - 他们的dxdiag文件内容)。我将需要搜索特定规格(例如,对于有2个或更多公羊的人)

例如,该大文中的相关行可能在此示例中显示为“Memory:4096MB Ram”。

当然,还有很多其他信息,如处理器,显卡等。

所以我想我需要两个步骤:

  1. 要正确找到相关部分的位置(在本例中为“Memory:”)。
  2. 以一种方式组织它,我可以将实际的ram值识别为数字,然后查询我想要的特定条件。
  3. 所以我想知道最有效的方法和代码是什么?

    P.S。如果您有兴趣,下面是我所拥有数据的部分示例。您可以使用此网站将其转换为文字:http://www.string-functions.com/hex-string.aspx

      

    2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0d0a53797374656d20496e666f726d6174696f6e0d0a2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d0d0a54696d65206f662074686973207265706f72743a20382f31362f323031322c2031343a31323a32320d0a202020202020204d616368696e65206e616d653a20544553540d0a2020204f7065726174696e672053797374656d3a2057696e646f7773203720456e74657270726973652036342d6269742028362e312c204275696c642037363031292053657276696365205061636b20312028373630312e77696e377370315f6764722e3132303530332d32303330290d0a20202020202020202020204c616e67756167653a20456e676c6973682028526567696f6e616c2053657474696e673a20456e676c697368290d0a53797374656d204d616e7566616374757265723a2044656c6c20496e632e0d0a2020202020202053797374656d204d6f64656c3a20507265636973696f6e20576f726b53746174696f6e20543735303020200d0a20202020202020202020202020202042494f533a2050686f656e697820524f4d2042494f5320504c55532056657273696f6e20312e3130204131320d0a2020202020202020202050726f636573736f723a20496e74656c2852292058656f6e285229204350552020202020202020202020583536363020204020322e383047487a2028362043505573292c207e322e3847487a0d0a202020202020202020202020204d656d6f72793a2031323238384d422052414d0d0a417661696c61626c65204f53204d656d6f72793a2031323238364d422052414d0d0a20202020202020202020506167652046696c653a20333631314d4220757365642c2032303935374d4220617661696c61626c650d0a202020202020202057696e646f7773204469723a20433a5c77696e646f77730d0a20202020446972656374582056657273696f6e3a20446972656374582031310d0a445820536574757020506172616d65746572733a204e6f7420666f756e640d0a20202055736572204450492053657474696e673a205573696e672053797374656d204450490d0a2053797374656d204450492053657474696e673a2039362044504920283130302070657263656e74290d0a2020202044574d20445049205363616c696e673a2044697361626c65640d0a20202020204478446961672056657273696f6e3a20362e30312e373630312e313735313420363462697420556e69636f6465

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,请看下面的问题,我找到了解决问题的方法。您可以将十六进制转换为varbinary,然后转换为varchar,使用SQL时不会太困难。更大的问题是在下一级别,除了前128个ASCII字符,这几乎是所有编码的直接转换,有很多方法可以编码为二进制或十六进制,如果你没有或不能使用原始转换工具存在许多挑战,其中所有解决方案都可能是唯一的。

How to replace non-standard Unicode with Space or Tab using SQL