在mysql函数中是否可以声明并返回多个列?
除了“价格”之外,我还想申报并返回第二列“税”,但我不知道如何正确处理 这是我想要实现的一个例子在mysql函数中是否可以声明并返回多个列?,mysql,function,Mysql,Function,除了“价格”之外,我还想申报并返回第二列“税”,但我不知道如何正确处理 这是我想要实现的一个例子 DELIMITER $$ CREATE FUNCTION calcProfit(cost FLOAT, price FLOAT) RETURNS DECIMAL(9,2) BEGIN DECLARE profit DECIMAL(9,2); DECLARE tax DECIMAL(9,2); SET profit = price-cost; SET tax = cost*1.2;
DELIMITER $$
CREATE FUNCTION calcProfit(cost FLOAT, price FLOAT) RETURNS DECIMAL(9,2)
BEGIN
DECLARE profit DECIMAL(9,2);
DECLARE tax DECIMAL(9,2);
SET profit = price-cost;
SET tax = cost*1.2;
RETURN profit,tax;
END$$
DELIMITER ;
存储的例程有两种,“过程”和“函数”;函数用于返回可在表达式中使用的值,例如: 选择sayHello('Frank');选择countName('Frank') 存储过程更适合于该任务。但您可能希望在这个存储例程中添加更复杂的语句。。 无论如何,这将返回一行利润和税收
DELIMITER //
CREATE PROCEDURE calcProfit(IN cost FLOAT, price FLOAT)
BEGIN
DECLARE profit DECIMAL(9,2);
DECLARE tax DECIMAL(9,2);
SET profit = price - cost;
SET tax = cost * 1.2;
SELECT profit, tax;
END
//
DELIMITER ;
CALL calcProfit(1,2);
函数只能返回一个值。在表达式中调用函数时,如何使用多个值?也许您需要的是一个存储过程而不是函数,您可以返回一个JSON或其他类型的分隔字符串,然后将其解析为第二个函数供以后使用。