|
Execute the following
script in Query Editor to create a hexadecimal translator:
USE AdventureWorks
CREATE FUNCTION fnHexadecimal (@Input varbinary(256))
RETURNS varchar(256)
AS
BEGIN
DECLARE @HexDigits char(16), @Result varchar(255), @i int, @InputLength int
DECLARE @RunningI int, @LeftHalf int, @RightHalf int
SET @Result = '0x'
SET @i = 1
SET @InputLength = DATALENGTH (@Input)
SET @HexDigits = '0123456789ABCDEF'
WHILE (@i <= @InputLength)
BEGIN
SET @RunningI = CONVERT(int, SUBSTRING(@Input,@i,1))
SET @LeftHalf = FLOOR(@RunningI/16)
SET @RightHalf = @RunningI - (@LeftHalf*16)
SET @Result = @Result +
SUBSTRING(@HexDigits, @LeftHalf+1, 1) +
SUBSTRING(@HexDigits, @RightHalf+1, 1)
SET @i = @i + 1
END
return @Result
END
GO
SELECT HEX = dbo.fnHexadecimal(255)
SELECT HEX = dbo.fnHexadecimal(4096)
SELECT HEX = dbo.fnHexadecimal(99999999999999999999999999999999999999)
|