I have equations stored in strings and I would need to evaluate them in
pgsql - get the result.
Maybe there is an eval() function but I couldn't find it.

The only way I found was to use something like this:

calcstring_arg:= 'SELECT ' || calcstring_arg || ' ::numeric AS
outparam';
FOR tmp IN EXECUTE calcstring_arg LOOP END LOOP;
RETURN tmp.outparam;

However I have a problem with this cast. I don't know how to handle
brackets in the equation, since

SELECT 35/124 ::numeric
--0.28....

while

SELECT (35/124) ::numeric
-- 0

so I should do something like

SELECT (35::numeric/124::numeric)
--0.28....

But than I would need to start to look inside the string and do
manipulation to it that I would like to avoid. How could I evaluate
these strings independently from whether there are brackets in them or
not?

Thanks for the help.
Balázs


---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to