--十六进制转十进制
create function hextoint(@h varchar(8))
returns bigint
as
begin
declare @r bigint
set @r=0
declare @i bigint
set @i=1
while @i<=len(@h)
begin
set @r=@r+
convert(int,
(
case
when substring(@h,@i,1)<='9' then substring(@h,@i,1)
when substring(@h,@i,1)<='A' then '10'
when substring(@h,@i,1)<='B' then '11'
when substring(@h,@i,1)<='C' then '12'
when substring(@h,@i,1)<='D' then '13'
when substring(@h,@i,1)<='E' then '14'
when substring(@h,@i,1)<='F' then '15'
end
))
*power(16,len(@h)-@i)
set @i=@i+1
end
return @r
end