Méthode de Monte-Carlo en SQL
Aujourd’hui 14 Mars – ou 3/14 avec un format de date américain – c’est le Pi-Day !
Pour l’occasion, de nombreux blogs Oracle indiquent des méthodes pour calculer une approximation de Pi en SQL.
Et voici ma contribution à ce sujet primordial 🙂 avec un calcul basé une méthode Monte-Carlo:
SQL> select to_char(sysdate,'MM.DD') Pi from dual;
PI
-----
03.14
SQL> WITH space
2 AS ( SELECT POWER (DBMS_RANDOM.VALUE, 2) + POWER (DBMS_RANDOM.VALUE, 2)
3 in_circle
4 FROM DUAL
5 CONNECT BY LEVEL < 1e7)
6 SELECT 4 * (COUNT (*) / 1e7) Pi
7 FROM space
8 WHERE in_circle <= 1;
PI
----------
3.1415852
SQL>
Pas très précis, pas très rapide mais bon…
🙂
neat idea !