create procedure test1 @a int,@b varchar(100) output
as
beginset @b=''
while @a<>0
select @b=@b+rtrim(@a%2),@a=@a/2
set @b=reverse(@b)
return @b
enddeclare @e varchar(100)exec test1 '64',@e outputselect @e
as
beginset @b=''
while @a<>0
select @b=@b+rtrim(@a%2),@a=@a/2
set @b=reverse(@b)
return @b
enddeclare @e varchar(100)exec test1 '64',@e outputselect @e
as
beginset @b=''
while @a<>0
select @b=@b+rtrim(@a%2),@a=@a/2
set @b=reverse(@b)
return @b
enddeclare @e varchar(100)exec test1 '64',@e outputselect @e
set @i=100
set @VarcharI=''
while 1=1
begin
set @VarcharI=cast(@i%2 as varchar)+@VarcharI
set @i=@i/2
if @i=0
BREAK
end
select @VarcharI
-------------------
1100100