方法一:
declare @a int
declare @b int
declare @c int
declare @d varchar(1000)
set @a =1
while @a < = 9
begin
set @d= ' '
set @b = 1
while @b < = @a
begin
select @d=@d+cast(@a as char(1))+ '*'+cast(@b as char(1))+ '= '+cast((@a*@b) as char(2))+ ' '
set @b = @b + 1
end
print @d+ ' '
set @a = @a + 1
end
方法二:
create function f_Get(@i int)
returns varchar(5000)
as
begin
declare @strReturn varchar(8000)
set @strReturn= ' '
declare @j int
set @j=1
while @j <=@i
begin
set @strReturn=@strReturn + cast(@j as char(1)) + '* ' +cast(@i as char(1))+ '= '+cast(@j*@i as char(2)) + ' '
set @j=@j+1
end
return @strReturn
end
-以下是调用函数
declare @i int
set @i=1
while @i <=9
begin
print dbo.f_Get(@i)
set @i=@i+1
end
注意 函数中不能包函’print ‘
1*1= 1
2*1= 2 2*2= 4
3*1= 3 3*2= 6 3*3= 9
4*1= 4 4*2= 8 4*3= 12 4*4= 16
5*1= 5 5*2= 10 5*3= 15 5*4= 20 5*5= 25
6*1= 6 6*2= 12 6*3= 18 6*4= 24 6*5= 30 6*6= 36
7*1= 7 7*2= 14 7*3= 21 7*4= 28 7*5= 35 7*6= 42 7*7= 49
8*1= 8 8*2= 16 8*3= 24 8*4= 32 8*5= 40 8*6= 48 8*7= 56 8*8= 64
9*1= 9 9*2= 18 9*3= 27 9*4= 36 9*5= 45 9*6= 54 9*7= 63 9*8= 72 9*9= 81