熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

Oracle中實現圓周率計算(一)

2013-11-13 16:24:09  來源: Oracle 
今天兩個同事用JAVA實現圓周率一百位小數的實現一個同事問我要不要試試由於很長時間沒有寫過JAVA代碼而且本身JAVA的水平就很差於是打算用ORACLE實現

  其實Oracle中使用現成的函數就可以直接到的圓周率比如

   SQL> SELECT ACOS() FROM DUAL;
  ACOS()
  
  

  可以通過調整數值類型的參數來獲取位精度

  

  SQL> SET NUMW 
  SQL> SELECT ACOS() PI FROM DUAL;
  PI
  

  

  如果不能使用現成的函數而要自己計算則要麻煩一些

  當時同事問我的時候我告訴他一分種左右就可以搞定而實際證明寫這個代碼用了分鐘左右

        SQL> CREATE OR REPLACE PROCEDURE P_PI wrapped
   a
   
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   abcd
   
   ec f
   bLpznNEJAQZmxUWFNNvTiEwgwDQUhqfC/WmGCuaLfzZFLKG/pZHGJ/bKzDYxl/z+
   qmDFusHSThkSZkEuyLmGKASmXQXlIcjcrCLQDfmeLEhifcu+/EuyZqsYYpFeKtfeC
   VamvTmuhyHFqLbdFkURszthPMC+JwzjuIdQpEBIhhdUWdwHnhewAWXYtDklgqXm
   dwNIDkQvcTtJx/uoFgVIBzPGVEYdVJ/IIwDU+CHQJHWJweeKGj/I=
  
   /

  過程已創建

  這時版本下WRAP後的過程利用這個代碼可以返回圓周率位以內的任意位小數

   SQL> SET SERVEROUT ON
  SQL> EXEC P_PI
  

  PL/SQL 過程已成功完成

   SQL> EXEC P_PI()
  

  PL/SQL 過程已成功完成

    SQL> EXEC P_PI()
  

  PL/SQL 過程已成功完成

   SQL> EXEC P_PI()
  

  PL/SQL 過程已成功完成 

   SQL> EXEC P_PI()
  

  PL/SQL 過程已成功完成


From:http://tw.wingwit.com/Article/program/Oracle/201311/18271.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.