|
||||
Ouverture de sessionNavigationContactez-nousAdministration du site : RechercheSujets du forumSujets actifsNouveaux sujets:SyndicationSondageQuelle est la version de PostgreSQL la plus répandue sur vos serveurs ? 8.3 10% 8.2 42% 8.1 40% 8.0 2% 7.4 6% 7.3 ou antérieure 0% Nombre de votes: 48 |
Utiliser PostgreSQL comme parser mathématiqueTechnique - général | Utiliser PostgreSQL comme parser mathématiquePar h.henoch le 13/10/2006 - 09:40 Bonjour, je ne sais si ce que je raconte va vous servir mais je voulais utiliser les capacités de postgresql pour en faire un parser d'expression mathématique. Le but est d'évaluer la valeur d'une chaîne de caractères contenant une expression mathématique '1+2*3' ou bien une expresion du type '2*cos(x)*sin(y)' où x et y sont des variables. Comme le nombre de fonction que mon programme utilise est très elevé et qu'elles sont stockées en chaînes de caractères dans une table, je me voyais mal les réécrire en fonction postgres. Voici donc une solution simple pour cela : CREATE OR REPLACE FUNCTION eval("varchar") s := 'select ' || $1 ; END; $1 est la chaîne de caractère à évaluer après remplacement des variables par leur valeur. Ainsi select eval('1+2*3') va donner 7. En espérant que cela vous serve aussi. NB : si une solution plus simple existe je suis prenneur. |
|||
© PostgreSQLFr, tous droits rĂ©servĂ©s.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.