我有一个公式等级表,用户可以在其中使用我在应用程序 UI 上提供的运算符、列、段号创建自己的公式
配方 | 小费 | 公式 | 等级猫 |
---|---|---|---|
1 | 运营商 | ( | 空 |
1 | 专栏 | 考绩制度 | 5 |
1 | 运营商 | + | 空 |
1 | 专栏 | PTS | 4 |
1 | 运营商 | ) | 空 |
1 | 运营商 | / | 空 |
1 | 数字 | 2 | 空 |
数学字符串来自公式列,列类型是另一个等级类型的另一个值
( PAS + PTS ) / 2
最后一个过程将变成字符串
( Number + Number ) / 2
注意: 此公式只是示例,公式可以是任何形式,对于其他示例
( 5+1+2+3) / 4
,或1 + 1
,它不固定为这种形式( Number + Number ) / 2
,用户可以创建具有上述给定功能的任何公式,运算符、数字和列。
是否可以在 mysql 中评估此字符串以确定是否有效的数学运算?
最后我根据@Serg 的建议创建了这个 SP 我尝试创建下面的 SP 来处理错误
CREATE PROCEDURE SP_TEST()
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
SHOW ERRORS;
END;
SET @sql = 'SELECT ( 100 + 100 / 2';
PREPARE stmt FROM @sql;
EXECUTE stmt;
END;
CALL SP_TEST();
如果有任何错误的数学运算,它会显示错误
谢谢大家