--10进制转16进制
create function inttohex(@int10 int)
returns varchar(8)
begin
declare @int10 int
declare @str16 nvarchar(8)
set @str16=''
if(@int10>0)
begin
while @int10>0
begin
set @str16=substring('0123456789ABCDEF',@int10%16+1,1)+@str16
set @int10=@int10/16
end
end
else
begin
set @str16='0'
end
return @str16
end
--16进制转10进制
create function hextoint(@str16 varchar(8))
returns int
begin
declare @int10 int
declare @i int
set @int10=0
set @i=1
while @i<=len(@str16)
begin
set @int10=@int10+
convert(int,
(case when substring(@str16,@i,1)<='9' then substring(@str16,@i,1)
when substring(@str16,@i,1)<='A' then '10'
when substring(@str16,@i,1)<='B' then '11'
when substring(@str16,@i,1)<='C' then '12'
when substring(@str16,@i,1)<='D' then '13'
when substring(@str16,@i,1)<='E' then '14'
when substring(@str16,@i,1)<='F' then '15' end )) * power(16,len(@str16)-@i)
set @i=@i+1
end
return @int10
end
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-670935/
,如需转载,请注明出处,否则将追究法律责任。