oracle如何实现阶乘,oracle累乘函数

用数据库怎样求解阶乘?

declare @sum bigint,@count int

创新互联公司专注于蚌埠网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供蚌埠营销型网站建设,蚌埠网站制作、蚌埠网页设计、蚌埠网站官网定制、微信平台小程序开发服务,打造蚌埠网络公司原创品牌,更为您提供蚌埠网站排名全网营销落地服务。

select @sum=1,@count=1

label:

select @sum=@sum*@count

select @count=@count +1

if @count =20

goto label

select @sum

这个是sql的 1到20的阶乘 count少于15可以直接定义@sum int 大于的话会算数溢出

oracle计算6的阶乘

select rownum rn, dbms_aw.eval_number(replace(wmsys.wm_concat(rownum)over(order by rownum), ',', '*')) serial_multi

2 from dual connect by rownum =6;

可以参照

Oracle编写的1至100和的算法 用循环控制结构中至少三种循环方式计算10的阶乘 急求

10的阶乘

简单(loop)循环

1 declare

2 i number(2) :=1;

3 s number(10):=1;

4 name varchar(8):=' simple';

5 begin

6 loop

7 s:=s*i;

8 i:=i+1;

9 dbms_output.put_line(s||''||name);

10 exit when i10;

11 end loop;

12* end;

---------------------------------------------------可爱的分割线(脸红)--------------------------------------------------------

for循环

1 declare

2 i number(2) :=1;

3 s number(10):=1;

4 name varchar(8):=' for';

5 begin

6 loop

7 s:=s*i;

8 i:=i+1;

9 dbms_output.put_line(s||''||name);

10 end loop;

11* end;

SQL /

1 for

2 for

6 for

24 for

120 for

720 for

5040 for

40320 for

362880 for

3628800 for

---------------------------------------------------可爱的分割线(脸红)--------------------------------------------------------

while循环

1 declare

2 i number(2) :=1;

3 s number(10):=1;

4 name varchar(8):=' while';

5 begin

6 while i=10 loop

7 s:=s*i;

8 i:=i+1;

9 dbms_output.put_line(s||''||name);

10 end loop;

11* end;

SQL /

1 while

2 while

6 while

24 while

120 while

720 while

5040 while

40320 while

362880 while

3628800 while


网站栏目:oracle如何实现阶乘,oracle累乘函数
本文URL:http://ybzwz.com/article/hddhpe.html