欢迎使用CSDN-markdown编辑器

来源:互联网 发布:网络接口芯片 编辑:程序博客网 时间:2024/06/05 20:49

自建PostgreSQL EVAL 函数

代码块

drop function if exists eval(text);create or replace function eval(text)returns numeric as $body$declare i numeric;begin    if $1 !~ E'^[-\s\d\.\+\*/\(\)]+$' then  end if;    execute ('SELECT '||replace(replace(replace(replace(replace($1,'create',''),'alter',''),'drop',''), 'delete',''),'select','')) INTO i;    return i;end $body$ language plpgsql returns null on null input;select eval('2-cos(23)+12*6');