Essa função em si não parece ser uma boa prática, mas dá pra usar expressão
regular pra "tentar" fazer o que você quer.

Exemplo:

CREATE OR REPLACE FUNCTION CALCULE (calculo text)
RETURNS NUMERIC AS $$
DECLARE
    v_result numeric;
BEGIN
    EXECUTE 'SELECT ' || regexp_replace(calculo, '([0-9]+)', '\1::numeric',
'g')
    INTO v_result;
    RETURN v_result;
END;
$$ LANGUAGE plpgsql;


Aviso: código não testado...

Atenciosamente,
--
Matheus de Oliveira
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a