首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在MySQL存储的_function_中计算一个简单的数学公式?

如何在MySQL存储的_function_中计算一个简单的数学公式?
EN

Stack Overflow用户
提问于 2011-09-07 09:27:29
回答 2查看 2.1K关注 0票数 3

在我的存储函数中,我拥有:

代码语言:javascript
代码运行次数:0
运行
复制
formula := "(10+10 * 1000)/12";

(一个简单的数学公式,仅包含数字,动态创建为字符串)

如何对此进行评估,并返回结果?

我不能使用EXECUTE (在存储函数中是不可能的),如果我使它成为存储过程并从存储函数调用它,我就会得到“在存储函数中不允许动态SQL或触发”-as,如果我将这个eval直接放在函数中。我需要一个存储函数,而不是一个过程,因为我需要在SELECT语句中调用它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-12 08:58:27

显然,这是没有解决办法的。我已经在PHP中应用了一个“油漆满”的解决方案,我不会在这里显示它,因为它不是问题的主题。

票数 0
EN

Stack Overflow用户

发布于 2011-09-07 10:31:13

我看不出用这个公式买你什么东西。如果要编写存储过程,请键入公式并忘记字符串。

我不认为让存储的proc具有动态性,因为要计算的公式必须从一个调用到另一个调用,这不符合您的利益。

如果必须的话,您必须编写一个解析器来将该字符串分解成它的组成部分,创建一个解析树,然后遍历该树来计算它。这不是一个微不足道的问题。我会重新考虑的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7331543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档