WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院数据库Oracle Oracle中实现圆周率计算 阅读

Oracle中实现圆周率计算

 2008-09-02 12:46:00 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愬灚瀚梺鍨儏閳ь剙绉归弻銊р偓闈涙啞閻h京鈧敻鍋婇崰鏍х暦閿燂拷
核心提示:今天两个同事用JAVA实现圆周率一百位小数的实现,一个同事问我要不要试试,Oracle中实现圆周率计算,由于很长时间没有写过JAVA代码,而且本身JAVA的水平就很差,当时同事问我的时候,我告诉他一分种左右就可以搞定,于是打算用ORACLE实现, 其实Oracle中使用现成的函数就可以直接到的圆周率

今天两个同事用JAVA实现圆周率一百位小数的实现。一个同事问我要不要试试,由于很长时间没有写过JAVA代码,而且本身JAVA的水平就很差,于是打算用ORACLE实现。

其实Oracle中使用现成的函数就可以直接到的圆周率,比如:

SQL>selectACOS(-1)FROMDUAL; 
  ACOS(-1) 
  ---------- 
  3.14159265

可以通过调整数值类型的参数来获取38位精度:

SQL>SETNUMW40 
  SQL>selectACOS(-1)PIFROMDUAL; 
  PI 
  ----------------------------------------
3.1415926535897932384626433832795028842

如果不能使用现成的函数,而要自己计算,则要麻烦一些。

当时同事问我的时候,我告诉他一分种左右就可以搞定,而实际证明,写这个代码用了5分钟左右:

 SQL>createORREPLACEPROCEDUREP_PIwrapped 
  2a000000 
  31 
  4abcd 
  5abcd 
  6abcd 
  7abcd 
  8abcd 
  9abcd 
  10abcd 
  11abcd 
  12abcd 
  13abcd 
  14abcd 
  15abcd 
  16abcd 
  17abcd 
  18abcd 
  197 
  20ec11f 
  21bLpzn0N21EJAQZmxUW0FNNv3TiEwgwDQ7UhqfC/WmGCua2Lf0zZFLKG/pZHGJ/bKzDYxl/z+ 
  22qm17DFusHSThkSZkEuy6LmGKASmXQXlIcj5c2rC7LQDfmeLEhifcu+/Euy0ZqsYYpFeKtfeC 
  23Vamv1TmuhyHFqL1bdFkURszthPM58C+Jwz4juIdQ3pEBIhhdUWdwH2nhe8wAWXYtDklgqX3m 
  24d05w6NIDkQvcTtJx/uoF8gVIBzPG8V7EYd5VJ/6IIw24DU+CH20QJHWJwe4eKG3j3/I= 
  25 
  26/

1 2 3 4  下一页

Tags:Oracle 实现 圆周率

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接