在mysql中检查数学表达式的结果

在mysql中检查数学表达式的结果,mysql,math,filter,where-clause,evaluation,Mysql,Math,Filter,Where Clause,Evaluation,假设我有一个表,它有四列(a,b,oper和c)和一些主键列oper在这里表示算术运算(+-*/) 正如我们在某些情况下所看到的,ab!=c。所以,我的问题是如何过滤掉这种情况 我听说过用于执行语句的execute,但我不知道如何在where子句中使用它 此外,我并没有将操作推广到任何算术运算,但如果有函数存在,最好知道 SELECT * FROM table WHERE с != CASE oper WHEN '+' THEN a+b WHEN '-

假设我有一个表,它有四列(
a
b
oper
c
)和一些主键列
oper
在这里表示算术运算(
+-*/

正如我们在某些情况下所看到的,
ab!=c
。所以,我的问题是如何过滤掉这种情况

我听说过用于执行语句的
execute
,但我不知道如何在
where
子句中使用它

此外,我并没有将
操作推广到任何算术运算,但如果有函数存在,最好知道

SELECT *
FROM table 
WHERE с != CASE oper WHEN '+' THEN a+b
                     WHEN '-' THEN a-b
                     WHEN '*' THEN a*b
                     WHEN '/' THEN a/b
                     ELSE NULL END

谢谢,但是有没有更短的方法来计算任何通用数学表达式并进行比较,也许是一些function@vrintleMySQL没有类似的函数。而动态SQL则更为复杂。
SELECT *
FROM table 
WHERE с != CASE oper WHEN '+' THEN a+b
                     WHEN '-' THEN a-b
                     WHEN '*' THEN a*b
                     WHEN '/' THEN a/b
                     ELSE NULL END