数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle中实现圆周率计算(一)


发布日期:2022年06月15日
 
Oracle中实现圆周率计算(一)
今天两个同事用JAVA实现圆周率一百位小数的实现一个同事问我要不要试试由于很长时间没有写过JAVA代码而且本身JAVA的水平就很差于是打算用ORACLE实现

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

SQL>SELECTACOS()FROMDUAL;

ACOS()

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

SQL>SETNUMW

SQL>SELECTACOS()PIFROMDUAL;

PI

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

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

SQL>CREATEORREPLACEPROCEDUREP_PIwrapped

a

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

abcd

ecf

bLpznNEJAQZmxUWFNNvTiEwgwDQUhqfC/WmGCuaLfzZFLKG/pZHGJ/bKzDYxl/z+

qmDFusHSThkSZkEuyLmGKASmXQXlIcjcrCLQDfmeLEhifcu+/EuyZqsYYpFeKtfeC

VamvTmuhyHFqLbdFkURszthPMC+JwzjuIdQpEBIhhdUWdwHnhewAWXYtDklgqXm

dwNIDkQvcTtJx/uoFgVIBzPGVEYdVJ/IIwDU+CHQJHWJweeKGj/I=

/

过程已创建

这时版本下WRAP后的过程利用这个代码可以返回圆周率位以内的任意位小数

SQL>SETSERVEROUTON

SQL>EXECP_PI

PL/SQL 过程已成功完成

SQL>EXECP_PI()

PL/SQL 过程已成功完成

SQL>EXECP_PI()

PL/SQL 过程已成功完成

SQL>EXECP_PI()

PL/SQL 过程已成功完成

SQL>EXECP_PI()

PL/SQL 过程已成功完成

上一篇:Oracle限定特定IP访问数据库

下一篇:oracle周数计算