我有一个包含一些公式的表,我需要在sql中得到它的值。
表
id Formula
-----------
1 5*power(2.7,n)
-----------
2 5+(5*power(4,n)-1.08
-----------
select REPLACE(Formula, 'n', 2) from table.
这是我的问题。 如何在替换n。
后得到结果请指导我
祝福
答案 0 :(得分:0)
如果你想执行那么动态sql可能就是你想要的
/*
drop table if exists t;
create table t (id int, formula varchar(100));
truncate table t;
insert into t values
(1 , '5*power(2.7,n)'),
(2 , '5+(5*power(4,n)-1.08)');
*/
select
concat('select ',
REPLACE(Formula, 'n', 2),
';')
into @sql
from t
where id = 2;
#select @sql;
prepare stmt from @sql;
execute stmt;
deallocate prepare stmt;
我注意到您的第二个公式无效,因此您可能需要构建一些错误检查。