IntToHex 와 같이 10진수를 넣으면 16진수 스트링이 리턴되는 함수가 있나요?
없으면 어떤식으로 변환해야 하나요?
-- 다음함수를 이용하세요. CREATE function FN_DEC2HEX(@intVal bigint,@byte tinyint) returns varchar(100) begin declare @rHex varchar(100) declare @t table(id int identity(1,1) primary key, val int)
if @intVal < 0 set @intVal = POWER(2.000,32) + @intVal
while(@intVal >= 16) begin insert into @t values (@intVal % 16) set @intVal = @intVal / 16 end insert into @t values (@intVal)
set @rHex = '' select @rHex = @rHex + case when val >= 10 then char(val+55) else convert(varchar(1),val) end from @t order by id desc set @rHex = '0x' + RIGHT(REPLICATE('0',@byte * 2) + @rHex,@byte * 2) return (@rHex) end
-- 테스트 select dbo.FN_DEC2HEX(1,4)
--------------------------------------------------------------------------------- 0x00000001
(1개 행 적용됨)