检查 mysql 中的数学表达式的结果
Check the result of a math expression in mysql
假设我有一个 table,它有四列(a
、b
、oper
和 c
)和一些主键列. oper
表示算术运算(+ - * /
)这里
a b oper c
-------------
2 3 + 5
4 2 / 3
6 1 * 9
8 5 - 3
在某些情况下,我们可以看到,a <oper> b != c
。那么,我的问题是如何过滤掉这种情况?
我听说过execute
,它是用来执行语句的,但我不知道如何在where
子句中使用它。
此外,我没有将 oper
概括为 任何 算术运算,但如果知道是否存在任何函数,那将是一件好事。
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
假设我有一个 table,它有四列(a
、b
、oper
和 c
)和一些主键列. oper
表示算术运算(+ - * /
)这里
a b oper c
-------------
2 3 + 5
4 2 / 3
6 1 * 9
8 5 - 3
在某些情况下,我们可以看到,a <oper> b != c
。那么,我的问题是如何过滤掉这种情况?
我听说过execute
,它是用来执行语句的,但我不知道如何在where
子句中使用它。
此外,我没有将 oper
概括为 任何 算术运算,但如果知道是否存在任何函数,那将是一件好事。
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