Bom, postei aqui e ninguém respondeu então procurei minhas formas de resolver.
Procurei a internet inteira e ninguém ajudava, então resolvi analisar a lógica de conversão dos endereços.
Criei uma função no SQL que convertia números hexadecimais pra decimais e depois fiz uma consulta usando a minha função com um substring e um concate.
Pra quem precisar segue aí:
Criar essa função antes:
CREATE function hex2dec(@str varchar(16))
returns varchar(255) as begin
select @str=upper(@str)
declare @i int, @len int, @char char(1), @output varchar(255)
select @len=len(@str)
,@i=@len
,@output=case
when @len>0
then 0
end
while (@i>0)
begin
select @char=substring(@str,@i,1), @output=@output
+(ASCII(@char)
-(case
when @char between 'A' and 'F'
then 55
else
case
when @char between '0' and '9'
then 48 end
end))
*power(16.,@len-@i)
,@i=@i-1
end
return @output
end
Consultar o log usando a função:
SELECT dbo.HEX2DEC(SUBSTRING(CAST(ClientIP AS VARCHAR(255)), 1, 2)) + '.' + dbo.HEX2DEC(SUBSTRING(CAST(ClientIP AS VARCHAR(255)), 3, 2))
+ '.' + dbo.HEX2DEC(SUBSTRING(CAST(ClientIP AS VARCHAR(255)), 5, 2)) + '.' + dbo.HEX2DEC(SUBSTRING(CAST(ClientIP AS VARCHAR(255)), 7, 2)) AS ClientIPv4, WebProxyLog.*
FROM WebProxyLog
Espero poder ajudar alguém!
Grande abraço.