BaseID  SiteID          Date_Time       Base    
366018 1003 2012-01-10 12:58:39.000 09C2
366018 1003 2012-01-10 12:58:53.000 09C2
366018 1004 2012-01-10 12:59:06.000
16100103EC803500000009C20000000000000000000000000002000000030002001A0002BD0001000000000000010101000025C3000C0305040E191003
366018 1002 2012-01-10 12:59:19.000 09C2
366018 1002 2012-01-10 12:59:32.000 09C2
366018 1004 2012-01-10 12:59:45.000 16100103EC803500000009C20000000000000000000000000002000000030002001C0002BD0001000000000000010101000025C3000C0305040E191003
现有一个名为BaseData的表,表内容如上,其中16100那段很长的字符串是Base列的,现在要将这段很长的字符串中的9C22BD提取出来,然后将其转换成10进制数值,再在前面加上EBEB06存储到另一个表中。求各位大神帮忙搞定啊

解决方案 »

  1.   

    你的字符串里面好像没有9C22BD
    将9C22BD转换为10禁止
    先转为二进制的 VARBINARY 类型 在转为intSELECT 'EBEB06'+ltrim(CONVERT(INT,CONVERT(VARBINARY(100),'9C22BD')))
    --842154564
      

  2.   

    16100103EC803500000009C20000000000000000000000000002000000030002001A0002BD0001000000000000010101000025C3000C0305040E191003
      

  3.   

    是要把 9C20000000000000000000000000002000000030002001A0002BD 这一段提出来吗?
      

  4.   

    不是的只是提取里面的9C22BD 然后9C2转换十进制,2BD转换十进制,连在一起存储
      

  5.   

    其实这9C2,2BD这两个部分的数据是不断变化的
      

  6.   

    就是说 需要提取9C2,2BD这个位置的数据