当前位置: 代码迷 >> Sql Server >> 怎么在server里单行显示多行数据
  详细解决方案

怎么在server里单行显示多行数据

热度:7   发布时间:2016-04-24 09:25:31.0
如何在server里单行显示多行数据
          1        
       222       
      33333      
     4444444     
    555555555    
   66666666666   
  7777777777777  
 888888888888888 
99999999999999999 就是类似的一个锥型在一行显示

------解决思路----------------------
显示在一行的方法不知道,只知道打印

DECLARE @i INT,@m int
SET @i=1
WHILE @i<=9
BEGIN
SET @m=(9-@i)/2
IF @i%2=0
PRINT REPLICATE(' ',@m*2+1)+REPLICATE(CAST(@i AS VARCHAR(1))+' ',@i)+REPLICATE(' ',@m*2)
ELSE 
PRINT REPLICATE(' ',@m*2)+REPLICATE(CAST(@i AS VARCHAR(1))+' ',@i)+REPLICATE(' ',@m*2)
SET @i=@i+1 
END

------解决思路----------------------
declare @i int,@len int,@max int;
set @i=1; --开始数字
set @len=17; --长度
set @max=9; --最大数字

while @i<=@max
begin
print replicate(' ',@len/2)+replicate(cast(@i as varchar),@i*2-1)+replicate(' ',@len/2);
set @len=@len-2;
set @i=@i+1
end
/*
        1        
       222       
      33333      
     4444444     
    555555555    
   66666666666   
  7777777777777  
 888888888888888 
99999999999999999
*/
  相关解决方案