MySQL 使用值和 return 数据类型十进制创建函数语句

MySQL Create function statement with values and return datatype decimal

这是我在 MySQL 中的代码。我应该写一个声明,通过给定的库存和每件商品的价格 -> 库存*价格来计算 itemavalue。 如果itemvalue为负数,则应设置为0。

CREATE function item_value (inventory int UNSIGNED, price decimal(8,2)) RETURNS DECIMAL(8,2)
BEGIN 
 IF inventory*price < 0 THEN 
  SET itemvalue = 0
 ELSE 
  SET itemvalue = inventory*price
END IF;

我知道到目前为止这还行不通,但我从未使用过 MySQL 中的函数。抱歉,希望你们能帮助我。

给出函数的签名:

itemvalue(inventory int UNSIGNED, price decimal(8,2))

谢谢

我猜你想要:

DELIMITER $$

CREATE function item_value (
    inventory int UNSIGNED,
    price decimal(8,2)
) RETURNS DECIMAL(8,2)
BEGIN
    RETURN GREATEST(inventory*price, 0); 
END $$

DELIMITER ;