急急急~~

appleyk 2010-05-18 10:13:12
刚学到SQL的while循环 现在想实现如下,输出结果为:
*
**
***
****
*****
虽然语法和C#差不多,就是不知道用T-SQL语句如何实现 尤其是那个换行符,哪位知道啊?讲下如何输出吧!
...全文
84 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
appleyk 2010-05-18
  • 打赏
  • 举报
回复
谢谢大家了~~结贴,给分!!
htl258_Tony 2010-05-18
  • 打赏
  • 举报
回复
declare @n int,@s varchar(500)
select @n=1,@s=''
while @n<=5
begin
select @s=@s + replicate('*',@n)+ char(10)
set @n=@n+1
end

select @s
/*

*
**
***
****
*****


(1 行受影响)
*/
sql_lover 2010-05-18
  • 打赏
  • 举报
回复
DECLARE @l INT
DECLARE @c VARCHAR(30)
SET @c=''
SET @l=5
WHILE(@l>0)
BEGIN
SET @c=@c+'*'
PRINT @c
SET @l=@l-1
END
/*
*
**
***
****
*****
*/

print 输出时自动换行
feixianxxx 2010-05-18
  • 打赏
  • 举报
回复
给你个 最近学的脚本 输出菱形。。。

declare @N int,@M int
set @M=0
set @N=0

while @M<7
begin
if @M<=3/*输出图形的上半部分*/
begin
while @N<4
begin
print space(8-@N)+REPLICATE('*',@N*2+1)
SET @N=@N+1
end
SET @M=@M+1
end
ELSE/*输出图形的下半部分*/
BEGIN
while @n>0
begin
set @N=@N-1;
print SPACE(8-@N)+REPLICATE('*',@n*2+1);
end
set @M=@M+1
END
end
/*
*
***
*****
*******
*******
*****
***
*
*/
永生天地 2010-05-18
  • 打赏
  • 举报
回复
这个是带换行符

declare @i int
declare @s varchar(500)
set @s=''
set @i=1
while @i<6
begin
set @s = @s + REPLICATE('*',@i)+char(13)
set @i=@i+1
end

select @s

*
**
***
****
*****


(所影响的行数为 1 行)
永生天地 2010-05-18
  • 打赏
  • 举报
回复
declare @i int
set @i=1
while @i<6
begin
print REPLICATE('*',@i)
set @i=@i+1
end

*
**
***
****
*****

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧