Einzelnen Beitrag anzeigen

TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.205 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Paradox nach MSSQL

  Alt 6. Dez 2018, 13:53
Du möchtest aus den Hex kodierten Zeichen die ursprünglichen Zeichen wiederherstellen? Also aus 414243 soll ABC werden?


Code:
CREATE FUNCTION [dbo].[f_hextostr] (@hexstring VARCHAR(512))
RETURNS VARCHAR(256)
AS
begin
declare @char1 char(1), @char2 char(1), @strlen int, @currpos int, @result varchar(256)
set @strlen=len(@hexstring)
set @currpos=1
set @result=''
while @currpos<@strlen
begin
set @char1=substring(@hexstring,@currpos,1)
set @char2=substring(@hexstring,@currpos+1,1)
if (@char1 between '0' and '9' or @char1 between 'A' and 'F')
and (@char2 between '0' and '9' or @char2 between 'A' and 'F')
set @result=@result+
char((ascii(@char1)-case when @char1 between '0' and '9' then 48 else 55 end)*16+
ascii(@char2)-case when @char2 between '0' and '9' then 48 else 55 end)
set @currpos = @currpos+2
end
return @result
end

Code:
insert into …. () values (f_hextostr(hexstring)

Achtung: Die Funktion geht davon aus, dass die Hex Zeichen in jeweils 2 Zeichen kodiert werden.
  Mit Zitat antworten Zitat