declare @a int,@结果 varchar(100)select @a=11,@结果=''
while @a>0
begin
select @结果=@结果+cast(@a%2 as char(1)),@a=@a/2
endselect @结果

解决方案 »

  1.   

    这样:
    declare @a int,@结果 varchar(100)select @a=11,@结果=''
    while @a>0
    select @结果=cast(@a%2 as char(1))+@结果,@a=@a/2
    select @结果 结果
      

  2.   

    这样:   select @结果 结果
    有什么作用
      

  3.   

    select @结果 as 别名是显示结果给你看
      

  4.   

    create function f_convert(@dec int)
    returns varchar(8000)
    as
    begin
          declare @ varchar(100)
          set @=''
          while @dec>0
    select @=cast(@dec%2 as char(1))+@,@dec=@dec/2      return @
    end
    go
    --测试
    select dbo.f_convert(12)--结果
    /*
    1100(所影响的行数为 1 行)
    */