miércoles, 4 de diciembre de 2013

conevrtir entero a hexadecimal en sql server 2008 r2

CREATE FUNCTION [dbo].[convierteHexa]
(
 @wentero int
)
RETURNS varchar(50)
AS
BEGIN
------------------------------
declare @wnumerohex int
declare @wdigitohex varchar(50)
declare @wcadenahex varchar(50)
set @wcadenahex=''
if @wentero >= 16
begin
while @wentero >= 16
begin
    set @wnumerohex = @wentero % 16
    if @wnumerohex >=10
        set @wdigitohex=char(55+@wnumerohex)
    else
        set @wdigitohex=convert(varchar(50),@wnumerohex)
     set @wcadenahex = @wdigitohex + @wcadenahex
     set @wentero = round((@wentero / 16),0)
end
end
set @wnumerohex = @wentero
If @wnumerohex >= 10
    set @wdigitohex = char(55 + @wnumerohex)
Else
    set @wdigitohex =convert(varchar(50),@wnumerohex)
set @wcadenahex = @wdigitohex + @wcadenahex
--------------------------------
return @wcadenahex
END

No hay comentarios: