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编写一个简单的计算器来进行基本的运算。提醒一下,该计算器只支持加减乘除四则运算,且输入格式应为"操作数 操作符 操作数"。功能有限,不建议在实际应用中使用。