16进制字符串?declare @i int
declare @b varbinary(20)set @i=123
set @b=cast(@i as varbinary(20))
select @b
------------------------------------------
0x0000007B(所影响的行数为 1 行)
declare @b varbinary(20)set @i=123
set @b=cast(@i as varbinary(20))
select @b
------------------------------------------
0x0000007B(所影响的行数为 1 行)
create function f_dido_10_16(@n int)
returns varchar(8000)
as
begin
declare @hex varchar(8000)
declare @a varchar(16)
set @hex=''
set @a='0123456789ABCDEF'
while (@n<>0)
begin
set @hex=@hex+cast(substring(@a,@n%16+1,1) as varchar)
set @n=@n/16
end
return reverse(@hex)
end
select dbo.f_dido_10_16(12365)-----------------
304D
create function f_dido_10_k(@n int,@k int)
returns varchar(8000)
as
begin
declare @hex varchar(8000)
declare @a varchar(16)
set @hex=''
set @a='0123456789ABCDEF'
while (@n<>0)
begin
set @hex=@hex+cast(substring(@a,@n%@k+1,1) as varchar)
set @n=@n/@k
end
return reverse(@hex)
end---602 转成8进制
select dbo.f_dido_10_k(602,8)1132