在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