 # Converting Binary data to a Hex Character String

,

Occassionally you might want to convert a binary number into some printable string.   This would allow you display some meaning fully numbers hex characters, instead of just some unreadable garbage.  This script takes a binary field, of basically any length, and converts it, character by character, to a character string.  The character string will contain a string of hex characters that is equivilant to the binary number.

```-- Write by: Gregory A. Larsen

declare @binary_field  varbinary(85)
declare @c int
declare @hexnum char(100)

set @hexnum = '0x'
while len(@binary_field) > 0
begin
set @c=cast(substring(@binary_field,1,1) as int)
set @binary_field=substring(@binary_field,2,len(@binary_field))
set @hexnum = rtrim(@hexnum) +
case
when (@c)/power(16,1)%16 = 0 then '0'
when (@c)/power(16,1)%16= 1 then '1'
when (@c)/power(16,1)%16= 2 then '2'
when (@c)/power(16,1)%16 = 3 then '3'
when (@c)/power(16,1)%16 = 4 then '4'
when (@c)/power(16,1)%16 = 5 then '5'
when (@c)/power(16,1)%16 = 6 then '6'
when (@c)/power(16,1)%16 = 7 then '7'
when (@c)/power(16,1)%16 = 8 then '8'
when (@c)/power(16,1)%16 = 9 then '9'
when (@c)/power(16,1)%16 = 10 then 'A'
when (@c)/power(16,1)%16 = 11 then 'D'
when (@c)/power(16,1)%16 = 12 then 'C'
when (@c)/power(16,1)%16 = 13 then 'D'
when (@c)/power(16,1)%16 = 14 then 'E'
when (@c)/power(16,1)%16 = 15 then 'F'
end +
case
when (@c)/power(16,0)%16 = 0 then '0'
when (@c)/power(16,0)%16= 1 then '1'
when (@c)/power(16,0)%16= 2 then '2'
when (@c)/power(16,0)%16 = 3 then '3'
when (@c)/power(16,0)%16 = 4 then '4'
when (@c)/power(16,0)%16 = 5 then '5'
when (@c)/power(16,0)%16 = 6 then '6'
when (@c)/power(16,0)%16 = 7 then '7'
when (@c)/power(16,0)%16 = 8 then '8'
when (@c)/power(16,0)%16 = 9 then '9'
when (@c)/power(16,0)%16 = 10 then 'A'
when (@c)/power(16,0)%16 = 11 then 'D'
when (@c)/power(16,0)%16 = 12 then 'C'
when (@c)/power(16,0)%16 = 13 then 'D'
when (@c)/power(16,0)%16 = 14 then 'E'
when (@c)/power(16,0)%16 = 15 then 'F'
end
end

print 'The binary number in a character variable is : ' + @hexnum```

## Rate

You rated this post out of 5. Change rating

## Rate

You rated this post out of 5. Change rating