1。没有for语句,可以用while 替代;
declare @i int
set @i = 0 
while @i < 10
begin
  ......
  set @i = @i +1
end
2。case
CASE
WHEN Boolean_expression THEN result_expression
[...n]
[
ELSE else_result_expression
]
END
3。使用方法见1。

解决方案 »

  1.   

    恩,可是我这样写还是有错,你看看什么原因?
        case 
           when @i = 1
              then @t_mc = @mc1
           when @i = 2
              then @t_mc = @mc2
           when @i = 3
              then @t_mc = @mc3
           else
              @t_mc = ""
         end
      

  2.   

    @t_mc =case 
           when @i = 1
              then  @mc1
           when @i = 2
              then  @mc2
           when @i = 3
              then  @mc3
           else
               ""
         end
      

  3.   

    上面的有点问题
    declare @t_mc nvarchar(100),@mc1 nvarchar(100), @mc2 nvarchar(100),@mc3 nvarchar(100)
    set @mc1=2
    set @mc2=4
    set @mc3=6
    declare @i int
    set @i=2
    select @t_mc =case 
           when @i = 1
              then  @mc1
           when @i = 2
              then  @mc2
           when @i = 3
              then  @mc3
           else
               ''
         end
    select @t_mc