Oracle中实现圆周率计算
2008-09-02 12:46:00 来源:WEB开发网过程已创建。
这时10.2版本下WRAP后的过程,利用这个代码可以返回圆周率100位以内的任意位小数:
SQL>SETSERVEROUTON
SQL>execP_PI
3.1415926535
PL/SQL 过程已成功完成。
SQL>execP_PI(1)
3.1
PL/SQL 过程已成功完成。
SQL>execP_PI(5)
3.14159
PL/SQL 过程已成功完成。
SQL>execP_PI(38)
3.14159265358979323846264338327950288419
PL/SQL 过程已成功完成。
SQL>execP_PI(100)
3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706
PL/SQL 过程已成功完成。
上面之所以给出一个WRAP之后的PL/SQL代码,实际上是和同事开了个小玩笑,这个用时不到5分钟的PLSQL代码如下:
SQL>SETSERVEROUTON
SQL>createORREPLACEPROCEDUREP_PI(P_NNUMBERDEFAULT10)AS
2V_PIVARchar2(102)DEFAULT’3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679’;
3BEGIN
4
5DBMS_OUTPUT.PUT_LINE(SUBSTR(V_PI,1,P_N+2));
6END;
7/
过程已创建。
SQL>execP_PI
3.1415926535
PL/SQL 过程已成功完成。
SQL>execP_PI(100)
3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706
- ››实现PHP页面静态化
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››实现android 再按一次退出程序代码
赞助商链接