inttohex



Автор Михаил задал вопрос в разделе Другие языки и технологии

Почему в MS SQL нет IntToHex() ? и получил лучший ответ

Ответ от Ёид[гуру]
Пишешь функцию перевода из 10-й системы в 16-ю, называешь её IntToHex, и радуешься!
Сид
Просветленный
(47492)
Ну, я как-то от безделья написал перевод из любой системы в любую... тоже забавно 🙂
create function calcsystem (@source varchar(1000), @fromsystem int, @tosystem int)
returns varchar(1000)
as
begin
declare @dec bigint, @t int, @result varchar(1000), @len int, @c varchar(1)
set @result=''
if (@fromsystem=10)
set @dec=@source
else
begin
set @source=upper(@source)
select @t=1, @dec=0, @len=len(@source)
while (@t<=@len)
begin
set @c=substring(@source,@t,1)
set @dec=@dec*@fromsystem+case when isnumeric(@c)=1 then cast(@c as int) else ascii(@c)-55 end
set @t=@t+1
end
end
while (@dec>0)
begin
set @t=@dec%@tosystem
set @result=case when @t<10 then convert(varchar(1),@t) else char(55+@t) end+@result
set @dec=(@dec-@t)/@tosystem
end
return @result
end

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: Почему в MS SQL нет IntToHex() ?
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*