mysql - 是否可以在 mysql 函数中声明和返回多个列?

标签 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;

  RETURN profit,tax;
END$$
DELIMITER ;

最佳答案

存储例程有两种,“过程”和“函数”;函数用于返回可在表达式中使用的值,例如: 选择 sayHello('弗兰克');选择 countName('弗兰克');

存储过程更适合该任务。但是您可能想在此存储例程中添加更复杂的语句.. 无论如何,这将返回一行利润和税收。

    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);

关于mysql - 是否可以在 mysql 函数中声明和返回多个列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32847553/

相关文章:

php - 修改mysql表以显示基于列值的排名

php - 如何从 Controller 获取两个对象结果以在 Laravel5 中查看

mysql - 如果不匹配正则表达式,如何禁止在mysql中插入?

python - 功能问题

r - 使用字符串名称在功能上创建变量

php - 为什么 fetchArray 不直接应用 htmlspecialchars ?

python - 添加新数据时无法从 mysql 数据库中获取 python 中的新数据

javascript - Protractor - X 不是函数

javascript - 为什么我的按钮使我的函数在不同的窗口中打开?

c - (如何)我可以内联一个特定的函数调用吗?