首页 > 其他 > 详细

将十进制转成十六进制

时间:2017-01-03 13:35:09      阅读:179      评论:0      收藏:0      [点我收藏+]

--创建函数

create function  [dbo].[hex](@cardno int )

returns varchar (100)

as

begin

    declare  @temp_mod int

    declare  @i int

    declare  @result varchar(100)

    declare  @temp_x int

    declare  @result_values int

    set  @result=‘‘

    set  @i=1

    set  @temp_x=0

while  @cardno>0

    begin

       set  @temp_mod=@cardno%16

       set  @cardno=@cardno/16

       set  @result=(case  @temp_mod when  10 then  ‘A‘

                                  when  11 then  ‘B‘

                                  when  12 then  ‘C‘

                                  when  13 then  ‘D‘

                                  when  14 then  ‘E‘

                                  when  15 then  ‘F‘

                                  else  ltrim(str(@temp_mod)) end  )+@result

    end

return @result

end

 

--测试示例

select [dbo].[hex](1808) as Hex

 

--运行结果

/*

Hex

----------

710

*/

 

 

 

--第二版

/****************************

  整数转换成进制

  作者:不得闲

  QQ: 75492895

  Email: appleak46@yahoo.com.cn

****************************/

Go

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.IntToHex(1808)

 

--运行结果

/*

710

*/

 

将十进制转成十六进制

原文:http://www.cnblogs.com/accumulater/p/6244455.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!