我在数据库里面有一段加密的密文(MD5)(前面为要加密的字符串后面为密文)比如:XXX单位|safj$$#%49808291747YUytawjlqjwelqjwlkejlqwlek现在我在软件中要提取---XXX单位--取出来在(数据库中)!就是怎样把  |  前面的<XXX单位> 字符串取出后面的密文不要,在软件源码中体现出来然后加密,加密之后再与数据表(也就是上面的字符串)对比(密文对比)!!!

解决方案 »

  1.   

    比如取出这些信息到字符串
    var 
      unit_name, md5_unit_name, s: string;s ='XXX单位|safj$$#%49808291747YUytawjlqjwelqjwlkejlqwlek';
    unit_name := copy(s, 1, Pos('|', s)); //单位名称
    md5_unit_name := copy(s, Pos('|', s) + 1, MaxInt); //加密的名称对单位名称加密再和md5_unit_name比较
      

  2.   

    有没有方法能够组合加密呀!因为软件可能有很多项比如:XXX单位,XXX日期等。如果在数据库里面我只拷贝XXX日期到其他单位不就可以延长时间了吗?有没有好的办法能够解决!!!!!!!!
      

  3.   

    select left('XXX单位|safj$$#%49808291747YUytawjlqjwelqjwlkejlqwlek',charindex('|','XXX单位|safj$$#%49808291747YUytawjlqjwelqjwlkejlqwlek')-1)--结果
    XXX单位
      

  4.   

    select left(字段,charindex('|',字段)-1)