用sql语句计算S=1!+3!+5!+ 7!+9!

declare @i int,@s int,@n int
set @i=1
set @s=1
set @n=0
while @i<=9
begin
set @s=@s*@i
set @i=@i+2
set @n=@n+@s
end
print @n
这个代码看下,谁帮我解释下

declare @i int,@s int,@n int --声明三个int型变量@i、@s、@n
set @i=1 --设置变量@i的值为1
set @s=1 --设置变量@s的值为1
set @n=0 --设置变量@n的值为0
while @i<=9 --while为循环~~和一般C或B或其他语言一样
begin --与end一对使用~~执行while的内容
set @s=@s*@i --就是对@s赋值~~值=@s*@i
set @i=@i+2 --设置@i变量增2
set @n=@n+@s --对@赋值
end
print @n --在屏幕显示@n这个变量的值

大概就是这个样子了~~
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-04-16
select distinct 1+1*2*3+1*2*3*4*5+1*2*3*4*5*6*7 as ans from table_name;

table_name为任意表名

while @i<=9
begin
set @s=@s*@i
set @i=@i+2
set @n=@n+@s

1=1的时候: s=1*1=1 i=1+2=3 n=0+1=1
1=3的时候: s=2*3=6 i=3+2=5 n=1+6=7
...
相当与
求阶乘后在求和。
理解一下啊就能明白,相信自己。
第2个回答  2009-04-14
select 1+1*2*3+1*2*3*4*5+1*2*3*4*5*6*7本回答被提问者采纳
第3个回答  2009-04-14
9
相似回答