Voir le flux RSS

Alassane Diakité

Une fonction d'évaluation d'expression en PL/lpgSQL

Noter ce billet
par , 12/05/2017 à 20h51 (208 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...
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
Essai...
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

Envoyer le billet « Une fonction d'évaluation d'expression en PL/lpgSQL » dans le blog Viadeo Envoyer le billet « Une fonction d'évaluation d'expression en PL/lpgSQL » dans le blog Twitter Envoyer le billet « Une fonction d'évaluation d'expression en PL/lpgSQL » dans le blog Google Envoyer le billet « Une fonction d'évaluation d'expression en PL/lpgSQL » dans le blog Facebook Envoyer le billet « Une fonction d'évaluation d'expression en PL/lpgSQL » dans le blog Digg Envoyer le billet « Une fonction d'évaluation d'expression en PL/lpgSQL » dans le blog Delicious Envoyer le billet « Une fonction d'évaluation d'expression en PL/lpgSQL » dans le blog MySpace Envoyer le billet « Une fonction d'évaluation d'expression en PL/lpgSQL » dans le blog Yahoo

Commentaires