Une fonction d'évaluation d'expression en PL/lpgSQL
par
, 12/05/2017 à 20h51 (1049 Affichages)
Salut
Je vous propose une fonction en PL/lpgSQL permettant d'évaluer une expression en la manière de la fonction EVAL de Microsoft ACCESS.
La fonction...
Essai...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 create function eval(e text, r anyelement) returns anyelement as $$ begin EXECUTE 'SELECT ' || e INTO r; return r; end; $$ language plpgsql
exécution resultat select eval('1+1', NULL::numeric) 2 select eval('1=1', NULL::boolean) true select eval('(13+(12/4))^2', NULL::numeric) 256 select eval('coalesce(null,1)', NULL::numeric) 1 select eval('int8range(5,15) * int8range(10,20)', NULL::int8range) [10,15) select eval('lower(''AbC'')', NULL::text) abc