注册 登录
编程论坛 SQL Server论坛

sql循环打印*号长方形

WJbobo 发布于 2009-07-29 09:04, 909 次点击
刚接触T_sql ,如何用while循环,打印出

*******************
*                 *
*                 *
*                 *
*******************
这样的。
2 回复
#2
gq528012009-08-04 13:03
这貌似好像是用Java做的啊用do while循环语句写啊或者双层for循环也行
#3
zongshi1232009-09-16 17:11
这个真麻烦  print 打印会自动换行
花了一个小时  我汗

程序代码:
declare @num int set @num=20  --图像数量
declare @row int set @row=13  --打印多少行
declare @i int set @i=0  
declare @j int set @j=0  
declare @k int set @k=0  
declare @ch varchar(1000) set @ch=''   --第一排 最后一排
declare @cc varchar(1000) set @cc='*'  --中间的
while(@j<@row)
begin
    if(@j>=1 and @j<=@row-2 )
    begin
        while(@k<@num)
        begin
            if(@k=@num-2)
                set @cc=@cc+'*';
            else
                set @cc=@cc+' ';
            set @k=@k+1;
        end
        print @cc;
    end     
    while(@i<@num)
    begin
        set @i=@i+1;
        set @ch=@ch+'*';
    end
    if(@j=0)print @ch;
    if(@j=@row-1)print @ch;
    set @j=@j+1;
end

1