mysql如何写计算器

2023-12-12 09:30:10 举报文章

MySQL是一种关系型数据库管理系统,但也可以用来进行简单的计算。比如,我们可以使用MySQL编写一个简单的计算器来进行基本的运算。

--by www.qzphp.cn
CREATE FUNCTION calculator(input VARCHAR(255)) RETURNS decimal(10,2)
BEGIN
DECLARE x DECIMAL(10,2);
DECLARE y DECIMAL(10,2);
DECLARE op CHAR(10);
SET op = '';
SET x = '';
SET y = '';
IF input REGEXP '^[0-9][0-9\s\.\-\+\/\*]+$' THEN
  
  SET y = TRIM(SUBSTRING_INDEX(input, ' ', -1));
  
  SET input = TRIM(SUBSTRING_INDEX(input, ' ', 1));
  
  SET op = TRIM(SUBSTRING_INDEX(input, ' ', -1));
  
  SET x = TRIM(SUBSTRING_INDEX(input, ' ', 1));
END IF;
CASE op
  
  WHEN '+' THEN SET x = x + y;
  
  WHEN '-' THEN SET x = x - y;
  
  WHEN '*' THEN SET x = x * y;
  
  WHEN '/' THEN SET x = x / y;
END CASE;
RETURN x;
END;
 

上述代码创建了一个名为"calculator"的函数,它接受一个字符串参数并返回一个十进制数。函数首先将参数拆分成三个部分:第一个操作数,操作符和第二个操作数。然后,使用CASE语句根据操作符计算结果。最终,函数返回计算结果。

--by www.qzphp.cn
SELECT calculator('5 + 10');
-- 结果为 15.00
SELECT calculator('10 - 5');
-- 结果为 5.00
SELECT calculator('5 * 10');
-- 结果为 50.00
SELECT calculator('10 / 5');
-- 结果为 2.00 

使用上述代码,我们可以用MySQL编写一个简单的计算器来进行基本的运算。提醒一下,该计算器只支持加减乘除四则运算,且输入格式应为"操作数 操作符 操作数"。功能有限,不建议在实际应用中使用。

如果你认为本文可读性较差,内容错误,或者文章排版错乱,请点击举报文章按钮,我们会立即处理!