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