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)
  • 相关阅读:
    【题解】【bzoj1819】【JSOI】Word Query电子字典
    【笔记】好背的KMP
    【题解】【bzoj 1503】【NOI2004】郁闷的出纳员
    【题解】【bzoj 2809】【Apio2012】dispatching
    CSP2019游记
    Spring boot starter pom的依赖关系说明
    Mybatis的分页插件PageHelp:Page对象中的pageSize等属性无法序列化,无法转换为json字符串
    Java Util
    实现Quartz的动态增删改查
    1. Spring boot 之热部署
  • 原文地址:https://www.cnblogs.com/DxSoft/p/1638057.html
Copyright © 2011-2022 走看看