It does not make sense to convert it to a divided string. Who understands a binary? is more useful in binary, in short, there goes the recipe
First convert it to string and from there make a cycle for every 3 characters and add the enter 'char (10)'
something like that
declare @b varbinary(max)
set @b = 0x5468697320697320612074657374A1
SELECT CONVERT(VARCHAR(MAX), @b, 1)
declare @letext varchar(MAX)
set @letext = CONVERT(VARCHAR(MAX), @b, 1)
declare @length int
declare @parsedstring varchar(MAX)
declare @token varchar(3)
declare @startpoint int
set @length = len(@letext)
set @startpoint = 1
while(@length > 3)
begin
set @token = substring(@letext, @startpoint, 3)
set @parsedstring = coalesce(@parsedstring + '|' + @token, @token)
set @startpoint = @startpoint + 3
set @length = @length - 3
end
set @token = substring(@letext, @startpoint, 3)
set @parsedstring = @parsedstring + '|' + @token
select @parsedstring
It's enough that you pass it to a sql function and it's done