zoukankan      html  css  js  c++  java
  • SQL Server下字符串,整数转换成16进制字符串的方法

    今天,由于需要模拟一个RFID卡的过车记录过程!其中有一个需要模拟RFID标签的!

    由于RFID标签数量有限!而BOSS又要我一下搞30万条数据到数据库中去(变态)!RFID卡由16进制组成。

    于是在SQL Server中写下了两个关于16进制转换的函数,以随机的来生成所需RFID数据


    代码
    /**************************** 
      字符串转成16进制
      作者:不得闲
      QQ: 75492895
      Email: appleak46@yahoo.com.cn
    ***************************
    */
    Create Function VarCharToHex(@Str  Varchar(400))
    returns varchar(800)
    as
    begin
      
    declare @i int,@Asi int,@ModS int,@res varchar(800),@Len int,@Cres varchar(4),@tempstr varbinary(400)
      
    select @i = 1,@res='',@len=datalength(@str),@tempStr = Convert(varbinary,@str)
      
    while @i<=@len 
      
    begin
         
    Select @Asi = substring(@tempstr,1,1),@Cres=''
         
    while @Asi <> 0
         
    begin
           
    select @Mods = @Asi %16,
           
    @Cres=Case when (@Mods > 9then Char(Ascii('A')+@Mods-10)+@Cres else Cast(@Mods as varchar(4)) + @Cres end,
           
    @Asi = @Asi/16
         
    end 
         
    Select @res = @res + @Cres,@tempStr =  substring(@tempStr,2,@len-1),@i = @i+1  
      
    end
      
    return @res
    end


    /**************************** 
      整数转换成16进制
      作者:不得闲
      QQ: 75492895
      Email: appleak46@yahoo.com.cn
    ***************************
    */
    Create Function IntToHex(@IntNum int)
    returns varchar(16)
    as
    begin
      
    declare @Mods int,@res varchar(16)
      
    set @res=''
      
    while @IntNum <> 0 
      
    begin
        
    set @Mods =@IntNum % 16
        
    if @Mods > 9 
          
    set @res = Char(Ascii('A')+@Mods-10)+@res
        
    else 
          
    set @res = Cast(@Mods as varchar(4)) + @res
        
    set @IntNum = @IntNum/16
      
    end
      
    return @res
    end


    具体使用,直接传递要转换的信息进去则可
    Select Dbo.VarcharToHex('不得闲')
    select Dbo.IntToHex(125)
  • 相关阅读:
    linux中systemctl详细理解及常用命令
    Hadoop中的java基本类型的序列化封装类
    理解javaBean
    hadoop之mr框架的源码理解注意点
    python生日贺卡制作以及细节问题的解决最后把python项目发布为exe可执行程序过程
    Hadoop MapReduce执行过程详解(带hadoop例子)
    为什么hadoop中用到的序列化不是java的serilaziable接口去序列化而是使用Writable序列化框架
    Java代码如何关联Hadoop源码
    关于版本控制
    GIT和SVN之间的五个基本区别
  • 原文地址:https://www.cnblogs.com/DxSoft/p/1638057.html
Copyright © 2011-2022 走看看