You can use phi to compute the nth number in the Fibonacci series (fn).
If you consider 0 in the Fibonacci series to correspond to n = 0, use this formula:
fn = Phi n / 5½
Query to generate 10 fibonacci series numbers
SELECT ROUND(POWER(1.6180339,LEVEL) / POWER(5,0.5)) FROM DUAL CONNECT BY LEVEL < =10
The value of Phi can be calculated as
(1 + sqrt (5))/2 = 1.61803399
So we can rewriet our query as
SELECT ROUND(POWER((1 + sqrt (5))/2,LEVEL) / POWER(5,0.5)) FROM DUAL CONNECT BY LEVEL < =10
We can also generate Fibonacci Series by Recursive Sub-Query factoring
with data(a, b, c) as (
select 0 a, 1 b, 10 from dual
union all
select b, a+b, c-1 from data where c >= 0
)
select a from data;
Related Links
ORA-01436: CONNECT BY loop in user data
http://nimishgarg.blogspot.in/2011/02/ora-01436-connect-by-loop-in-user-data.html
Connect By Prior (Hierarchical Query)
http://nimishgarg.blogspot.in/2010/02/oracle-connect-by-prior-hierarchical.html
Get All Month or Week Days Names
http://nimishgarg.blogspot.in/2010/01/oracle-sql-get-all-month-names-jan-to.html
Alpha Numeric Counter Or Sequence
http://nimishgarg.blogspot.in/2011/04/alpha-numeric-counter-or-sequence.html
Oracle SQL: Triangular Series (1 3 6 10 15 21)
http://nimishgarg.blogspot.in/2010/07/oracle-sql-triangular-series-1-3-6-10.html
If you consider 0 in the Fibonacci series to correspond to n = 0, use this formula:
fn = Phi n / 5½
Query to generate 10 fibonacci series numbers
SELECT ROUND(POWER(1.6180339,LEVEL) / POWER(5,0.5)) FROM DUAL CONNECT BY LEVEL < =10
The value of Phi can be calculated as
(1 + sqrt (5))/2 = 1.61803399
So we can rewriet our query as
SELECT ROUND(POWER((1 + sqrt (5))/2,LEVEL) / POWER(5,0.5)) FROM DUAL CONNECT BY LEVEL < =10
We can also generate Fibonacci Series by Recursive Sub-Query factoring
with data(a, b, c) as (
select 0 a, 1 b, 10 from dual
union all
select b, a+b, c-1 from data where c >= 0
)
select a from data;
Related Links
ORA-01436: CONNECT BY loop in user data
http://nimishgarg.blogspot.in/2011/02/ora-01436-connect-by-loop-in-user-data.html
Connect By Prior (Hierarchical Query)
http://nimishgarg.blogspot.in/2010/02/oracle-connect-by-prior-hierarchical.html
Get All Month or Week Days Names
http://nimishgarg.blogspot.in/2010/01/oracle-sql-get-all-month-names-jan-to.html
Alpha Numeric Counter Or Sequence
http://nimishgarg.blogspot.in/2011/04/alpha-numeric-counter-or-sequence.html
Oracle SQL: Triangular Series (1 3 6 10 15 21)
http://nimishgarg.blogspot.in/2010/07/oracle-sql-triangular-series-1-3-6-10.html
Really Great. Thanks
ReplyDeletereally nice
ReplyDeleteAlso check related posts of this article.
DeleteThis comment has been removed by a blog administrator.
ReplyDeleteIt is more helpful...
ReplyDeleteFor those looking to transform their homes in Northern Ireland, furniture Belfast offers an impressive selection of stylish collections for every room. Whether your preference is modern minimalism or timeless traditional designs, Belfast retailers provide furniture that combines durability, functionality, and aesthetic appeal to meet every household's needs.
ReplyDelete