请教SQL高手帮忙,SQL Server输出1+2+3...+99+100的结果

declare@iint,@nint,@sintset@i=1set@n=0while0<iori<100beginprint@sset@s=@s+@iend... declare @i int,@n int,@s int
set @i=1
set @n=0
while 0<i or i<100
begin
print @s
set @s=@s+@i
end
展开
 我来答
百度网友c79a47a44
2012-11-14 · 超过20用户采纳过TA的回答
知道答主
回答量:96
采纳率:0%
帮助的人:63.8万
展开全部
这样就行了:

declare @i int = 0, @s int = 0
while @i <= 100
begin
set @s=@s+@i --执行相加
set @i=@i+1 --为下个循环作准备
end
select @s --打印结果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sxdtgsh
2012-11-14 · TA获得超过2222个赞
知道小有建树答主
回答量:913
采纳率:75%
帮助的人:871万
展开全部
1+2+3...+99+100是有算法的,公式是(100+1) * 100 / 2
declare
@i int
set @i = (100 + 1) * 50;
print @i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
清影漂泊
2012-11-14 · TA获得超过1327个赞
知道大有可为答主
回答量:3393
采纳率:100%
帮助的人:2032万
展开全部
DECLARE @i INT,@sum INT
SET @i=1
SET @sum=0
WHILE @i<=100
BEGIN
SET @sum=@sum+@i
SET @i=@i+1
END
PRINT @sum
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一缕青丝发
2012-11-14 · TA获得超过1642个赞
知道小有建树答主
回答量:162
采纳率:33%
帮助的人:46.7万
展开全部
----方法一:
declare @i int
set @i=(1+100)*50
select @i

----方法二:

declare @i int,@n int
set @i=1
set @n=0
while @i<=100
begin
set @n=@n+@i
set @i=@i+1
end
select @n
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式