我有一个包含一些公式的表,我需要它的值作为 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后如何得到结果。
请指导我
最美好的祝愿
最佳答案
如果你想执行,那么动态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;
我注意到您的第二个公式无效,因此您可能需要构建一些错误检查。
关于mysql - 如何在sql中将方程值从字符串转换为int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41505911/