Technical Article

Convert Numeric To Hex

,

a better way to convert numeric value to Hex string

CREATE PROCEDURE  sp_GetHexFromNumeric 
@StringID nvarchar(8) output,
@ID numeric

 AS

declare @HEX_STRING nchar(20)
declare @HEX_CHAR   char(1)
declare @Pos int
declare @TempID numeric
declare @Divisor int 

set @HEX_STRING =  '0123456789ABCDEF'
set @StringID = ''
set @TempID = @ID
---set @Divisor = 4096  --Support in 8 char
set @Divisor = 268435456

---if @ID > 65536
if @ID > 4294967296
set @StringID = 'FFFFFFFF'
else
    BEGIN

    while (@Divisor>0)
    BEGIN

set @Pos = @TempID/@Divisor
             if(@Pos>15)
               set @Pos =15
set @HEX_CHAR = substring(@HEX_STRING,@Pos+1,1)

set @StringID = @StringID+@HEX_CHAR
set @TempID = @TempID - @Pos*@Divisor

set @Divisor  = @Divisor/16

    END

END
GO

Rate

You rated this post out of 5. Change rating

Share

Share

Rate

You rated this post out of 5. Change rating