Oracle实现fibonacci数列方法一:SELECT REPLACE(MAX(SYS_CONNECT_BY_PATH(fib||", ", "/")),"/","")||"..." fiblist
FROM (
SELECT n, fib, ROW_NUMBER()
OVER (ORDER BY n) r
FROM (select n, round((power((1+sqrt(5))*0.5, n)-power((1-sqrt(5))*0.5, n))/sqrt(5)) fib
from (select level n
from dual
connect by level <= 16) t1) t2
)
START WITH r=1
CONNECT BY PRIOR r = r-1;
/*
FIBLIST
--------------------------------------------------------------------------------
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ...
*/
方法二:DECLARE
A NUMBER;
B NUMBER;
C NUMBER;
BEGIN
A:=0;
B:=1;
C:=1;
FOR i IN 1..20 LOOP
DBMS_OUTPUT.PUT_LINE("the "||i||" number is:"||C);
C:=A+B;
A:=B;
B:=C;
END LOOP;
END;
/*
the 1 number is:1
the 2 number is:1
the 3 number is:2
the 4 number is:3
the 5 number is:5
the 6 number is:8
the 7 number is:13
the 8 number is:21
the 9 number is:34
the 10 number is:55
the 11 number is:89
the 12 number is:144
the 13 number is:233
the 14 number is:377
the 15 number is:610
the 16 number is:987
the 17 number is:1597
the 18 number is:2584
the 19 number is:4181
the 20 number is:6765
*/ 方法三:select max(s) || ", ..." fibonacci_list
from
(select s
from dual
model
return all rows
dimension by ( 0 d )
measures ( cast(" " as varchar2(200)) s, 0 f)
rules iterate (16)
( f[iteration_number] = decode(iteration_number, 0, 1, 1, 1, f[iteration_number-1] + f[iteration_number-2]),
s[iteration_number] = decode(iteration_number, 0, to_char(f[iteration_number]), s[iteration_number-1] || ", " || to_char(f[iteration_number]))
)
)
/*
FIBONACCI_LIST
--------------------------------------------------------------------------------
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, ...
*/ Android的Sqlite导出及数据操作经验分享Oracle中rowid和rownum简介相关资讯 Oracle教程
- Oracle中纯数字的varchar2类型和 (07/29/2015 07:20:43)
- Oracle教程:Oracle中查看DBLink密 (07/29/2015 07:16:55)
- [Oracle] SQL*Loader 详细使用教程 (08/11/2013 21:30:36)
| - Oracle教程:Oracle中kill死锁进程 (07/29/2015 07:18:28)
- Oracle教程:ORA-25153 临时表空间 (07/29/2015 07:13:37)
- Oracle教程之管理安全和资源 (04/08/2013 11:39:32)
|
本文评论 查看全部评论 (0)