您的位置:首页 > 其它

【叶子函数分享五十三】输出指定格式的数据列

2011-03-30 21:58 381 查看
-- =============================================
-- Author: maco_wang
-- Create date: 2011-03-30
-- Description:
-- 需求贴:http://topic.csdn.net/u/20110330/10/dd155c82-e156-49df-9b5a-65bdbb0bf3ab.html
-- =============================================
前记:
Csdn上看到一帖子,要求如下:
编程一个函数实现功能,给出n,打印1-n,例如1 22 33 444 555 666 7777 8888 9999 10101010
就是要
1个1位: 1
2个2位: 22 33
3个3位: 444 555 666
4个4位: 7777 8888 9999 10101010
....
虽然是.NET技术-ASP.NET板块的帖子,但是思路都是一样的,用SQL写了一下:
create function PrintN(@n int)
returns @table table (id bigint)
as
begin
declare @i bigint;set @i=1
declare @j bigint;declare @k bigint;
while (@i<=@n)
begin
set @j=0;set @k=0
while @j<@i
begin
set @j=@j+@k;set @k=@k+1
end
insert into @table select replicate(@i,@k-1)
set @i=@i+1
end
return
end

--查看结果
select * from dbo.PrintN(20)
/*
1
22
33
444
555
666
7777
8888
9999
10101010
1111111111
1212121212
1313131313
1414141414
1515151515
161616161616
171717171717
181818181818
191919191919
202020202020
*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: