如何在sql中将方程值从string转换为int

时间:2017-01-06 12:36:41

标签: mysql sql

我有一个包含一些公式的表,我需要在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。

后得到结果

请指导我

祝福

1 个答案:

答案 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;

我注意到您的第二个公式无效,因此您可能需要构建一些错误检查。