有感于OO的号称“最快的计算PI程序”

http://www.itpub.net/viewthread.php?tid=1345414

闲来无事,自己先看看能计算到哪一位。

1.算法

π/4 = 1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...

2. plsql package

create or replace package pkg_pi

as

function fn_item (p_integer integer) return number;

function fn_pi return number;

end pkg_pi;

/

create or replace package body pkg_pi

as

function fn_item (p_integer integer) return number

is

l_exception exception;

begin

if p_integer < 0 then

raise l_exception;

else

return power(-1,p_integer)/(2*p_integer + 1);

end if;

exception when l_exception then

raise_application_error(-20000,'Fatal error,the parameter must not be negative');

end fn_item;

function fn_pi return number

is

l_sum number default 0;

begin

for i in 0..10000000 loop

l_sum := l_sum + fn_item(i);

end loop;

return 4*l_sum;

end fn_pi;

end pkg_pi;

3. 结果

SQL> set timing on;

SQL> select pkg_pi.fn_pi from dual;

FN_PI

----------

3.14159275

Executed in 213.031 seconds

oracle π,plsql 计算π相关推荐

  1. Oracle plsql 计算日期间工作日天数

    declare v_fdate date := to_date('2013-10-4','yyyy-mm-dd'); v_ldate date := to_date('2013-10-22','yyy ...

  2. 【转】oracle PLSQL基础学习

    [转]oracle PLSQL基础学习 --oracle 练习: /**************************************************PL/SQL编程基础****** ...

  3. oracle中plsql块的结构,oracle plsql的结构

    变量声明部分(没有变量可以不写declare) begin 执行部分 exception 异常处理部分 end *:declare 和 exception部分是可选的 (1)PL/sql中变量的定义 ...

  4. oracle sum函数返回类型,Oracle / PLSQL SUM函数

    这个Oracle教程解释了如何使用Oracle / PLSQL SUM函数. SUM(x) 添加x中的所有值,并返回总和. SUM函数对一组行进行操作,并返回一行输出. Null值被SUM函数忽略.您 ...

  5. oracle平均值语句,Oracle / PLSQL AVG函数

    这个Oracle教程解释了如何使用Oracle / PLSQL AVG函数. Oracle / PLSQL AVG函数计算表达式的平均值. Avg 函数对一组行进行操作,并返回一行输出. 空值被avg ...

  6. Oracle时间计算

    日期格式参数 含义说明 D 一周中的星期几 DAY 天的名字,使用空格填充到9个字符 DD 月中的第几天 DDD 年中的第几天 DY 天的简写名 IW ISO标准的年中的第几周 IYYY ISO标准的 ...

  7. mysql plsql循环语句吗,Oracle PLSQL 在游标中用while循环实例程序

    Oracle PLSQL 在游标中用while循环实例程序 Oracle PLSQL 在游标中用while循环实例程序 Oracle PLSQL 在游标中用while循环实例程序 declare cu ...

  8. oracle最小精度,【整理+原创】Oracle的计算精度与误差

    也不算总结帖,至多算个小结帖 由近期看到的帖子想到的,本主题只讨论数字 1.Oracle的计算精度是多少? Oracle的数字精度最多是38位,计算精度当然也就这么多了,否则如何表示计算结果?呵呵 O ...

  9. lower() oracle,PLSQL LOWER用法及代码示例

    PLSQL LOWER函数用于将指定字符串中的所有字母都转换为小写.如果字符串中的字符不是字母,则不受此功能的影响. 要转换的char可以是任何数据类型,例如CHAR,VARCHAR2,NCHAR,N ...

最新文章

  1. asp.net mvc 学习
  2. 最新!2022中国大学排名发布
  3. 实验一:SQL server 2005高可用性之----日志传送
  4. [NOIP2012提高组]国王游戏
  5. ajax提交加载loading图标遮罩层不显示
  6. mysql滚动条不见了,11-JS处理滚动条
  7. android 2.3 otg,学会使用手机的OTG功能-事半功倍-系列评测2
  8. 【Keras】Win10系统 + Anaconda+TensorFlow+Keras 环境搭建教程
  9. 【Linux】ubuntu 16 启动拨号上网
  10. UnitOfWork实战
  11. linux C++ socket编程 实例
  12. nuxt使用videojs播放flv格式视频
  13. 小程序对接腾讯云IM即时聊天
  14. github上传代码步骤
  15. 态势感知“裸奔”的中国人 | 专访 360 张翀斌
  16. web开发必看:你的网站支持https吗?
  17. 数据有效性 动态选择
  18. Moses的安装、训练和优化
  19. 思科交换机密码清除方法记录
  20. (三)Linux 用户和权限

热门文章

  1. 局域网ssr转pptp_[网络技术][转]PPTP连接过程
  2. jsp中给div加背景_web前端入门到实战:详解css3如何给背景图片加颜色遮罩
  3. sublime配置go环境_sublime Text3配置go编译环境
  4. SpringCloud 服务网关 Zuul 自定义路由和排除路由配置
  5. thymeleaf学习
  6. 基于JAVA+SpringMVC+Mybatis+MYSQL的英语在线学习系统
  7. httpservletresponse 重定向浏览器不变的原因_正确区分火狐浏览器(Firefox)中国版和国际版amp;下载方法...
  8. JAVA基础整理-6.Java数据类型
  9. E_FAIL (0x80004005) MachineWrap
  10. websocket实现java服务端与js端通信